我有一个Windows服务中托管的WCF。
我的服务在端口16000上运行,并且我在app.config文件中使用basicHttpBinding。该服务运行良好,使用http时可以连接到该服务。
后来,我在Windows服务代码中添加了以下内容,从而为我的服务添加了SSL安全性:
myServiceHost = New ServiceHost(type)
myServiceHost.Credentials.ServiceCertificate.SetCertificate (StoreLocation.LocalMachine, StoreName.Root, X509FindType.FindByThumbprint, "thumbprint with spaces")
已编译程序,并且Windows服务正在运行,没有任何错误。
然后,我使用netsh和以下链接中的说明将SSL证书绑定到我的16000端口:
this GitHub issue。
但是,当我尝试添加引用以在URL中使用https对其进行访问时,出现了异常:“由于意外的数据包格式,握手失败。”
这是我的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>
我是否缺少引起此错误的信息?
谢谢,
斯里