IISExpress:无法自动进入服务器。远程过程无法调试

时间:2013-03-01 16:06:51

标签: wcf web-services visual-studio asmx iis-express

我正在IISExpress中使用web服务,可以使用我的浏览器浏览到端点,所以我知道它还活着。我正在WinForms中编写一个测试应用程序,并希望在服务上调用一个方法。

当我尝试进入通话时,我收到此错误。

IISExpress:无法自动进入服务器。无法调试远程过程。

webservice设置为调试模式,我想知道是否有一些设置阻止IISExpress允许调试?

更新 我想知道这是否是因为Test应用程序没有任何.pdb文件加载到内存中,因为这些文件存储在webservice文件夹中的其他位置,而不是测试应用程序bin文件夹。 我已经尝试为web服务指定app_code.pdb所在的bin文件夹的文件夹,但仍然没有运气。

那怎么办?我很难过。

更新2: 经过一周的调查后仍然无法使其发挥作用。

所以这是我的基本要求:我需要一个1)WinForms应用程序2)能够调用不同的Web服务和3)能够进入每个服务调用。这些服务使用IISExpress作为根网站的子应用程序托管。 WinForm测试应用程序正在进行Web服务调用,但IISExpress是通过Nant任务启动的。 Web服务是旧的网站类型项目,因此他们有app_code.dll文件。我已经尝试将符号路径设置为指向构建的pdb文件,但是我接下来会出现错误:

“在此文件夹中找不到匹配的符号文件”。

我从没想过调试webservices会这么困难吗?!?

2 个答案:

答案 0 :(得分:1)

1)在测试项目中引用webservice的DLL。

2)IISExpress是一个完全不同的应用程序,然后您的winforms应用程序,只是引用的DLL仍然不会自动允许您进入您的Web服务代码。您需要附加到IISExpress.exe进程。当您启动winforms项目时,点击调试...附加到进程并选择IISExpress.exe。 现在您应该能够真正进入您的Web服务代码。

答案 1 :(得分:1)

我意识到这是一个迟到的反应,但这是我遇到的事情(特别是在长时间离开WCF项目之后)。

确保在“服务器端”服务类代码中设置了断点...而不是在“客户端”调用代码中。这样服务器端服务就会将必要的调试信息(断点)编译到服务器上的.pdb文件中。