我试图找出如何将以下基本http绑定转换为自定义绑定。这两个绑定似乎有一个截然不同的架构。
<basicHttpBinding>
<binding name="MyBinding">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
答案 0 :(得分:2)
不清楚为什么要将其转换为自定义绑定 - 通常在其中一个开箱即用的绑定不满足要求时使用自定义绑定。
快速执行此操作的方法是使用Yaron Naveh WCF BindingBox(通过此处answer在此处找到)。将BindingBox与提供的配置一起使用会产生以下结果:
<customBinding>
<binding name="NewBinding0">
<security authenticationMode="CertificateOverTransport"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireDerivedKeys="false" securityHeaderLayout="Lax" />
<textMessageEncoding MessageVersion="Soap11" />
<httpsTransport />
</binding>
</customBinding>
开发自定义绑定时,需要记住以下元素顺序:
您可以从MSDN获取更多信息 - CusotmBinding Class
修改强>
由于您使用的是自定义二进制编码,因此您需要将<textMessageEncoding>
元素更改为<binarMessageEncoding MessageVersion="Soap11">
。