【问题标题】:IISExpress: Unable to automatically step into the server. the remote procedure cannot be debuggedIISExpress:无法自动进入服务器。无法调试远程过程
【发布时间】:2013-03-01 16:06:50
【问题描述】:

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

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

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

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

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

那么这是怎么做到的呢?我被难住了。

更新 2: 经过一周的研究,仍然无法使其正常工作。

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

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

我从没想过调试网络服务会这么难?!?

【问题讨论】:

  • 你能在同一台服务器上运行 webservice 和 WinForms 应用程序吗?
  • 是的,我正在使用 IISExpress 在 localhost 托管大约 6 个 asmx Web 服务,我希望 win forms 应用程序依次测试每一个。每个 Web 服务都有自己的部署文件夹,其中包含 app_code.dll。测试应用程序对符号一无所知,因此我已将其添加到 VS 的符号文件夹中 - 仍然没有运气。
  • 请解释一下,“当我尝试介入通话时”是什么意思?您是否尝试在 Web 服务调用中使用 WinForms 应用程序?
  • 您究竟是如何测试网络服务的?
  • 在调用 web 服务时(来自我的 WinForms 测试应用程序),我有一个断点。我一停下来,就按 F11 进入服务。我假设 app_code.dll 应该可以运行,但 VS 不想介入。

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


【解决方案1】:

1) 在您的测试项目中引用您的 Web 服务的 DLL。

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

【讨论】:

  • 经过一周的调查后仍然无法使其正常工作。所以这是我的基本要求:我需要一个 1) WinForms 应用程序 2) 能够调用不同的 Web 服务和 3) 能够进入每个服务调用。这些服务使用 IISExpress 作为根网站的子应用程序托管。 WinForm 测试应用程序正在调用 web 服务,但 IISExpress 是通过 Nant 任务启动的。
  • 你试过上面的两个步骤了吗?
  • 是的,还是不行。为什么工作这么难?我正在针对 .NET2 框架运行 IISExpress,并针对使用 app_code.dll 部署的 Web 服务。
【解决方案2】:

我意识到这是一个较晚的响应,但这是我遇到的问题(尤其是在长时间离开 WCF 项目之后)。

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

【讨论】:

  • 我不记得我最终是如何让它工作的。我不确定我的 web 服务是否是从发布而不是调试位置调用的。您可能也有一个有效的观点。
猜你喜欢
  • 2023-03-15
  • 2014-05-19
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2011-09-02
  • 2019-05-15
  • 2012-12-07
  • 2014-01-07
相关资源
最近更新 更多