В настоящее время мы сталкиваемся с некоторыми проблемами при вызове службы WCF в. net core (2.1).
Поскольку. net core не поддерживает привязку System.Servicemodel в web.config мы пытаемся создать эту пользовательскую привязку программным способом.
(Это хорошо объяснено в этом вопросе stackoverflow: Как программно создать эту пользовательскую привязку? )
Наш пользовательский привязка выглядит следующим образом:
<bindings>
<customBinding>
<binding name="customBinding">
<security enableUnsecuredResponse="true" authenticationMode="MutualCertificate"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" />
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport maxReceivedMessageSize="2097152" requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
Как мы можем добиться этого в коде?
In. net framework 4.7.x была возможность создать эту привязку следующим образом:
CustomBinding binding = new CustomBinding();
SecurityBindingElement sbe = SecurityBindingElement.CreateMutualCertificateBindingElement();
Но в. net core 2.1 ее там нет. Как мы можем достичь этого?
Или как мы можем сделать вызов WCF в ядре. net с помощью этой пользовательской привязки. С наилучшими пожеланиями и большое спасибо за помощь нам!