You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求WCF中CustomBinding的XML配置对应的C#等价实现

将WCF CustomBinding XML配置转换为C#代码实现

以下是与你提供的XML配置完全等价的C#代码实现,对应WCF中CustomBinding的手动构建逻辑:

using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Security;

// 创建CustomBinding实例
CustomBinding customBinding = new CustomBinding();
customBinding.Name = "name";

// 构建并配置Security绑定元素
SecurityBindingElement securityElement = SecurityBindingElement.CreateMutualCertificateBindingElement(
    MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10);
securityElement.DefaultAlgorithmSuite = SecurityAlgorithmSuite.Default;
securityElement.RequireDerivedKeys = true;
securityElement.IncludeTimestamp = true;
securityElement.MessageProtectionOrder = MessageProtectionOrder.EncryptBeforeSign;
securityElement.RequireSignatureConfirmation = true;

// 配置本地客户端与服务的重放检测设置
securityElement.LocalClientSettings.DetectReplays = true;
securityElement.LocalServiceSettings.DetectReplays = true;

// 将Security元素添加到绑定
customBinding.Elements.Add(securityElement);

// 添加Binary消息编码元素
customBinding.Elements.Add(new BinaryMessageEncodingBindingElement());

// 添加HTTP传输元素
customBinding.Elements.Add(new HttpTransportBindingElement());

代码与XML配置的对应说明:

  • customBinding.Name = "name" 对应XML中<binding name="name"/>的名称设置
  • SecurityBindingElement.CreateMutualCertificateBindingElement(...) 对应XML中authenticationMode="MutualCertificate"的认证模式,传入的MessageSecurityVersion参数完全匹配XML中的messageSecurityVersion属性值
  • 后续对securityElement的一系列属性赋值,一一对应XML中<security>节点的defaultAlgorithmSuite、requireDerivedKeys等属性
  • securityElement.LocalClientSettings.DetectReplays和securityElement.LocalServiceSettings.DetectReplays对应XML中<localClientSettings>和<localServiceSettings>的detectReplays="true"配置
  • BinaryMessageEncodingBindingElement和HttpTransportBindingElement分别对应XML中的<binaryMessageEncoding/>和<httpTransport/>节点

内容的提问来源于stack exchange,提问作者Pedro Mora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:20:28