【问题标题】:How to debug a WCF Service Application?如何调试 WCF 服务应用程序?
【发布时间】:2015-04-17 21:10:02
【问题描述】:

新手问题。在 vs2010 (.net 4.0) 中,我使用 WCF 服务应用程序模板来创建一个 Web 应用程序。然后使用 Web Deploy 将其发布到与我的客户端应用程序位于同一框的 IIS 7。

如何调试 WCF 服务应用程序?

我试过这个:

  1. 在 Service1.svc.cs 代码中设置断点。
  2. 使用调试配置重新编译所有内容。构建目标是 bin\
  3. 将 WCF 服务应用程序项目发布到本地 IIS7 网站。
  4. 启动调用 IIS7 网站的客户端应用程序。
  5. 在管理模式下启动第二个 VS2010 实例并附加到进程 w3wp.exe。
  6. 返回第一个 vs 实例并执行设置了断点的方法。

恢复第二个vs实例(附加的那个),只显示“在运行模式下无法显示反汇编”。

我错过了什么?有没有更好的办法?

任何帮助或建议将不胜感激。

编辑#1:我在 web.config 中添加了调试,如下:

 <system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior>
          <serviceMetadata httpGetEnabled="true"/>
           <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>

还是没有运气??

编辑#2:直接在它自己的 vs 实例中运行 Web 服务应用程序项目时,我得到了

“Web 项目“WCFServiceApplication0”当前配置为 使用 URL“http://localhost:8999/WCFServiceApplication0”。 Web 服务器将此 URL 映射到不同的文件夹“C:\Nova5\WCFServiceApplication0_deploy”。是否要重新映射此 URL 以指向 Web 项目的文件夹?"

这个问题应该怎么回答? *_deploy 文件夹是如何制作的?感谢您的考虑。

【问题讨论】:

  • 只是在Visual Studio的Debug模式下启动WCF服务?右键单击项目-> 调试-> 启动新实例。还是需要专门调试部署的版本?
  • @JanneMatikainen 最好调试专门部署的版本,但由于我对这两个版本都有代码,因此任何一种方式都可以。谢谢。
  • @JanneMatikainen 我试过了,得到:“无法在 Web 服务器上开始调试。Web 服务器配置不正确....”我添加了 没有运气。我错过了什么???
  • 您应该能够以与托管在 IIS 上的普通 Web 应用程序相同的方式调试 WCF 服务。最好的方法是将您的 VS 设置为指向 IIS,然后在调试模式下运行。您应该能够浏览应显示 WCF 页面的 localhost/myservice.svc。现在启动调用此 WCF 服务的客户端应用程序(例如 Windows 应用程序)以及调用该服务的那一刻,即它应该达到断点的方法。
  • @Rajesh Newbie here...我如何“将 VS 指向 localhost/myservice.svc”?对不起我的无知。

标签: asp.net wcf


【解决方案1】:

您可以直接调试您的 WCF 服务。

VS(以管理员身份运行) -> 打开 Wcf 项目 -> 属性 -> Web -> 指向 IIS 的 VirtualDirectory。

然后右键单击 Svc.cs -> Debug as New 实例。

如果您在解决方案中有多个可托管项目,例如 1 个 Web 和 1 个 Wcf,则从解决方案设置多个启动项目 -> 设置启动项目。

【讨论】:

  • 试过了...请看我上面的编辑。那么我是否应该重新映射 Web 项目?谢谢(我不知道它是如何被映射到 *_deploy 的?)
  • 我不太明白。什么是“指向 IIS 的虚拟目录”以及如何/在何处右键单击 svc.cs(我没有选择“调试”)。谢谢。
猜你喜欢
  • 2013-11-11
  • 1970-01-01
  • 2023-04-03
  • 2017-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
相关资源
最近更新 更多