当前我们在.net core(2.1(.中调用WCF服务时遇到一些问题
由于.net核心不支持web.config中的System.Servicemodel绑定,我们正尝试以编程方式创建此自定义绑定。
(这个stackoverflow问题很好地解释了这一点:我如何通过编程创建这个自定义绑定?(
我们的自定义绑定如下所示:
<bindings>
<customBinding>
<binding name="customBinding">
<security enableUnsecuredResponse="true" authenticationMode="MutualCertificate"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" />
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport maxReceivedMessageSize="2097152" requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
我们如何在代码中实现这一点?
在.net框架4.7.x中,可以选择以这种方式创建此绑定:
CustomBinding binding = new CustomBinding();
SecurityBindingElement sbe = SecurityBindingElement.CreateMutualCertificateBindingElement();
但在.net核心2.1中,它并不存在。我们如何才能做到这一点?
或者我们如何用这个自定义绑定在.net核心中进行WCF调用。衷心问候并感谢您的帮助!
SOAP消息安全性未在基于DotNet Core
的WCF客户端中实现。因此,无法在Core框架中创建AsymmetricSecurityBindingElement
https://learn.microsoft.com/en-us/dotnet/api/system.servicemodel.channels.securitybindingelement.createmutualcertificatebindingelement?view=netframework-4.8
https://github.com/dotnet/wcf/issues/2766
如果有什么我可以帮忙的,请随时告诉我。