我正在设计一个ASP.NET网站,它还为客户端应用程序提供了一个WCF服务。但是,当我在服务的操作函数的开头放置一个断点时,它会在标题中显示该消息,因此我无法调试该操作。这是我测试它的方式: 我首先创建一个asp.net网站项目,它有WCF服务和操作,我在本地IIS服务器上发布它,我可以从浏览器浏览服务的wsdl文件,我想这意味着服务是正确托管的。
我也放了<compilation debug="true">
在Web.config文件中启用调试。
然后我创建另一个测试客户端控制台项目来调用该操作,使用svcutil.exe生成代理类。然后我将调试附加到w3wp.exe进程。只有一个进程,因为我只在IIS中使用一个应用程序池。现在,当我启动客户端并调用操作时,我永远无法在服务器中执行操作的功能。谁能告诉我这是什么问题?在此先感谢您的帮助!
答案 0 :(得分:3)
事实证明,当我将网站发布到IIS时,我忽略了调试信息,即没有为调试符号生成.pdb文件。我如何修复它是检查“发布网站”对话框中的“发出调试信息”选项,然后生成.pdb文件并命中断点。
答案 1 :(得分:0)
如果要调试WCF服务,可以使用.NET框架(.NET v4.0)附带的WCF测试客户端中的内部版本。打开服务页面按F5开始调试。应启动WCF测试客户端,您可以调用所需的操作并对其进行调试。只需确保您的项目以调试模式构建。