WCF 服务 无法在 Web 服务器上启动调试

本文关键字:服务器 启动 调试 Web 服务 WCF | 更新日期: 2023-09-27 18:31:13

当我在本地 IIS 中将 WCF 服务设置为 SSL 必需时,调试 WCF 服务时遇到问题。我能够在 http/https 下正确命中我的服务的 URL,但我无法调试和单步执行代码。我收到了一个弹出框,其中包含以下文本:

无法在 Web 服务器上启动调试。Web 服务器配置不正确。

当我使服务不是 SSL 必需时,我能够按预期逐步完成我的代码。我是处理IIS的新手,并且已经浏览了许多具有相同结果的教程。任何帮助都会很棒

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="sslBehaviorConfiguration">
      <!-- To avoid disclosing metadata information, set the values below to false before deployment -->
      <serviceMetadata httpsGetEnabled="true"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <wsHttpBinding>
    <binding name="sslBindingConfiguration">
      <security mode="Transport" />
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service name="SslWCFProject.Service1" behaviorConfiguration="sslBehaviorConfiguration">
    <endpoint binding="wsHttpBinding" bindingConfiguration="sslBindingConfiguration" contract="SslWCFProject.IService1" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<!--<protocolMapping>
  <add binding="wsHttpBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>-->

WCF 服务 无法在 Web 服务器上启动调试

1)首先,我建议检查IIS日志。 它们通常位于以下目录中:C:''inetpub''logs''LogFiles。 只需进入W3SVC前缀文件夹,其修改日期与您收到错误时最接近。 打开正确日期的日志并查看错误详细信息。

2) 如果这未显示任何内容,请在事件查看器中查看 Windows 应用程序日志。

3) 您的计算机上是否有证书(例如自签名证书)? 这里是否存在受信任的站点问题?

我相信

我找到了答案。看起来 IIS 中"需要 SSL"网站的复选框与客户端证书相关联,并且需要客户端证书才能访问服务,而不是它下面的部分(尽管我将来需要选择必需)。对于我发现的帖子,当选中此功能时,我无法调试服务,但我可以附加到进程以进行调试。

http://blogs.msdn.com/b/vijaysk/archive/2007/10/18/visual-studio-debugging-websites-that-require-client-certificates.aspx

如果我错了,请告诉我。如果我遇到其他任何事情,我会再次更新这个问题,说明我的进度,只是为了记录在案。