由于意外的数据包格式,握手失败。 Windows Service中托管的WCF

时间:2018-12-13 22:47:50

标签: wcf ssl windows-services

我有一个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>

我是否缺少引起此错误的信息?

谢谢,
斯里

0 个答案:

没有答案