【问题标题】:How can I debug this web service http handler?如何调试此 Web 服务 http 处理程序?
【发布时间】:2010-06-01 04:38:59
【问题描述】:

我正在按照这些说明构建一个 Httphandler here

它操纵 HTTP POST 和 HTTP GET。我有一个客户端,有两个按钮 POST 和 GET。

在我测试并满意一切工作后,我将它从 localhost 移动到 IIS。现在,当我这样做时,我在 POST 处理程序代码中得到一个异常。

究竟如何才能逐行调试此代码?我不久前设法做到了这一点,我认为这是通过附加到进程,但我无法解决。我可以通过在浏览器中输入地址来模拟 GET,我不确定。我尝试过远程登录并从那里发送,但没有任何运气。

【问题讨论】:

  • 如果您可以访问 Unix 机器(或 cygwin),您可以执行“curl --post-data”。或者尝试嗅探网络流量以查看实际发送/接收的内容[我想我会将这句话作为我的 sigfile]
  • 我可以看到实际发送的内容,我已经操纵了处理程序 POST 和 GET,以便在它发生时将这些信息记录在文本文件中。问题是异常发生在处理程序代码中间并终止,我要调试的只是一个 http 内部服务器错误 500。我实际上可以从 IIS 中获取一个列表,在它中断的行上,我就是无法解决如何从 Visual Studio 中调试...

标签: c# visual-studio debugging httphandler http-post


【解决方案1】:

将 Visual Studio 调试器附加到 asp.net 工作进程。它必须以这种方式工作。您必须附加到正在运行您的应用的正确工作进程,因为可能有多个 asp.net 工作进程实例。

【讨论】:

  • 所以将web服务http处理程序附加到asp.net工作进程,然后在调试中运行.exe并导致HTTP post?我试过了,它仍然没有达到断点
  • 您是否看到多个 asp.net wp 实例?您是否附加到正确的 wp ?
  • 我可以看到正在运行的客户端应用程序的 .exe,ctfmon.exe,explorer,iexplorer,mmc.exe,w3wp.exe 和 WebDev.WebServer.EXE,我正在附加到最后一个( ASP.NET 开发服务器)- 这是正确的吗?
  • 不。您应该将调试器附加到 w3wp.exe - 这是从 IIS 运行您的 asp.net 应用程序的正确 asp.net 工作进程。
  • 啊。我刚刚重新启动,现在我丢失了 w3wp.exe 进程。你知道我怎样才能把它找回来吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多