.Net Core не поддерживает WSHttpBinding - PullRequest
1 голос
/ 15 марта 2019

Перемещение WSHttpBinding в BasicHttpBinding ....

Постановка проблемы: WSHttpBinding не поддерживается в ядре .Net.

Когда мое приложениебыл в .Net 4.6, я использовал WSHttpBinding для создания соединения с WCF с помощью приведенного ниже кода.

var binding = new WSHttpBinding(SecurityMode.TransportWithMessageCredential);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
binding.Security.Message.ClientCredentialType = MessageCredentialType.Certificate;
binding.Security.Message.EstablishSecurityContext = false;
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
var cert = store.Certificates.Find(X509FindType.FindByThumbprint, "Thumprint", true)[0];
result = new MyClient(binding, address);
client = result as ClientBase<TInterface>;                
client.ClientCredentials.ClientCertificate.Certificate = cert;

Теперь я переношу свое приложение на ядро ​​.Net и обнаружил, что поддержка отсутствует. WSHttpBinding .Я планирую перейти с BasicHttpBinding и внес следующие изменения:

    var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
    binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate;

С BasicHttpBinding естьнет положения нижеприведенного кода:

 binding.Security.Message.EstablishSecurityContext = false;//This code is w.r.t. WSHttpBinding.

Итак, мой вопрос: нормально ли это изменится или мне следует поступить иначе?Пожалуйста, помогите!

1 Ответ

0 голосов
/ 15 марта 2019

Я сделал то же самое (перейдите от ПОЛНОЙ .NET FRAMEWORK к .NET CORE PROJECT) и обнаружил there is NO SUPPORT for WCF ...

, что я сделал:

1 - Create a .NET STANDARD LIB PROJ .. со ссылкой на вашу конечную точку SOAP (она поддерживает WCF)

2 - Reference your LIB to a .NET CORE PROJECT

надеюсь, что это поможет вам !!

как: enter image description here

, а затем ссылаться на него следующим образом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...