C#:无法调试ASHX处理程序

时间:2013-03-04 13:40:27

标签: c# debugging handler ashx

我有一个ASP.net C#4.0网站项目。我使用jQuery AJAX回发调用ASHX处理程序。通常当我调试C#时,我使用这个方法Debug>附加到流程>选择w3wp.exe并开始调试。

当我使用ASHX处理程序执行此操作时,Visual Studio会说“断点不会被命中。此文档没有加载任何符号。”果然,当我对处理程序运行AJAX调用时,断点不会被命中。

令我困惑的是,我可以调试C#文件,即ASPX文件的代码隐藏。

3 个答案:

答案 0 :(得分:2)

事实证明,在实际尝试运行ASHX处理程序之前,Visual Studio实际上不会加载用于调试的符号。我的问题变成了其他地方 - jQuery代码中的一个错误,它调用了处理程序。

我一开始没有看到这个bug,所以假设处理程序被击中了。调用处理程序后,VS将允许您对其进行调试。我没有意识到ASHX处理程序的行为方式如此,我认为它们就像普通的C#文件一样工作。

答案 1 :(得分:0)

这通常是因为您所看到的(代码)不是您正在运行的。

尝试抛出Debugger.Launch();并查看是否正确附加调试器。如果确实如此,那么您的问题只是您正在查看与调试无关的代码的不同副本/版本

答案 2 :(得分:0)

是否只有一个w3wp.exe尝试右键单击您的asp.net项目,从上下文菜单中选择“Debug”和“Start a new instance”。

相关问题