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"/>-->
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
如果我错了,请告诉我。如果我遇到其他任何事情,我会再次更新这个问题,说明我的进度,只是为了记录在案。