【发布时间】:2015-04-17 21:10:02
【问题描述】:
新手问题。在 vs2010 (.net 4.0) 中,我使用 WCF 服务应用程序模板来创建一个 Web 应用程序。然后使用 Web Deploy 将其发布到与我的客户端应用程序位于同一框的 IIS 7。
如何调试 WCF 服务应用程序?
我试过这个:
- 在 Service1.svc.cs 代码中设置断点。
- 使用调试配置重新编译所有内容。构建目标是 bin\
- 将 WCF 服务应用程序项目发布到本地 IIS7 网站。
- 启动调用 IIS7 网站的客户端应用程序。
- 在管理模式下启动第二个 VS2010 实例并附加到进程 w3wp.exe。
- 返回第一个 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”?对不起我的无知。