У меня есть WCF, который размещен в службе Windows.
Моя служба работает на порту 16000, и я использую basicHttpBinding в моем файле app.config.Служба работает нормально, и я могу подключиться к нему при использовании http.Позже я добавил безопасность SSL к своему сервису, указав в коде службы Windows следующее:
myServiceHost = New ServiceHost(type)
myServiceHost.Credentials.ServiceCertificate.SetCertificate (StoreLocation.LocalMachine, StoreName.Root, X509FindType.FindByThumbprint, "thumbprint with spaces")
Программа скомпилирована, и служба Windows работает без ошибок.Затем я привязал сертификат SSL к своему порту 16000, используя netsh и инструкции в следующей ссылке: https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-configure-a-port-with-an-ssl-certificate.
Однако, когда я пытаюсь добавить ссылку для доступа к нему с помощью https в URL, я получаю исключение:«Рукопожатие не удалось из-за непредвиденного формата пакета.»
Вот мой файл app.config для справки:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"></serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior name="mexBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="mexBehaviour" name="myService_ClassLib.myService">
<endpoint address="myService" binding="basicHttpBinding" bindingConfiguration=""
contract="myService_ClassLib.ImyService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:16000" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
Есть ли что-то, что мне не хватает, что вызывает эту ошибку?
Спасибо
Шри