寻找与以下 basicHttpBinding 等效的 customBinding
Looking for customBinding equivalent for the following basicHttpBinding
我正在尝试弄清楚如何将以下基本 http 绑定转换为自定义绑定。这两个绑定似乎具有截然不同的架构。
<basicHttpBinding>
<binding name="MyBinding">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
不清楚为什么要将此转换为自定义绑定 - 通常当其中一个开箱即用的绑定不满足要求时使用自定义绑定。
一个快速的方法是在 SO 上使用 Yaron Naveh 的 WCF BindingBox (found via this answer。将 BindingBox 与您提供的配置一起使用会产生以下结果:
<customBinding>
<binding name="NewBinding0">
<security authenticationMode="CertificateOverTransport"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireDerivedKeys="false" securityHeaderLayout="Lax" />
<textMessageEncoding MessageVersion="Soap11" />
<httpsTransport />
</binding>
</customBinding>
开发自定义绑定时,您需要牢记以下元素顺序:
- TransactionFlow 元素(可选)
- ReliableSession 元素(可选)
- 安全性(可选,可以是对称、非对称、传输级)
- CompositeDuplex 元素(可选)
- 传输升级(可选,可以是 SSL 流、Windows 流、对等解析器)
- 文本编码(必需,可以是文本、二进制、MTOM、自定义)
- 传输(必需,可以是 TCP、命名管道、HTTP、HTTPS、MSMQ 风格、自定义)
您可以从 MSDN 获取更多信息 - CusotmBinding Class
编辑
由于您使用的是自定义二进制编码,因此您可以将 <textMessageEncoding>
元素更改为 <binarMessageEncoding MessageVersion="Soap11">
.
我正在尝试弄清楚如何将以下基本 http 绑定转换为自定义绑定。这两个绑定似乎具有截然不同的架构。
<basicHttpBinding>
<binding name="MyBinding">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
不清楚为什么要将此转换为自定义绑定 - 通常当其中一个开箱即用的绑定不满足要求时使用自定义绑定。
一个快速的方法是在 SO 上使用 Yaron Naveh 的 WCF BindingBox (found via this answer。将 BindingBox 与您提供的配置一起使用会产生以下结果:
<customBinding>
<binding name="NewBinding0">
<security authenticationMode="CertificateOverTransport"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireDerivedKeys="false" securityHeaderLayout="Lax" />
<textMessageEncoding MessageVersion="Soap11" />
<httpsTransport />
</binding>
</customBinding>
开发自定义绑定时,您需要牢记以下元素顺序:
- TransactionFlow 元素(可选)
- ReliableSession 元素(可选)
- 安全性(可选,可以是对称、非对称、传输级)
- CompositeDuplex 元素(可选)
- 传输升级(可选,可以是 SSL 流、Windows 流、对等解析器)
- 文本编码(必需,可以是文本、二进制、MTOM、自定义)
- 传输(必需,可以是 TCP、命名管道、HTTP、HTTPS、MSMQ 风格、自定义)
您可以从 MSDN 获取更多信息 - CusotmBinding Class
编辑
由于您使用的是自定义二进制编码,因此您可以将 <textMessageEncoding>
元素更改为 <binarMessageEncoding MessageVersion="Soap11">
.