Ron*_*rby 18 .net asp.net debugging httphandler visual-studio
我在visual studio中的HttpHandler中设置了一个断点.HttpHandler是我试图通过在VS开发Web服务器中运行我的应用程序来调试的.ashx文件.我的断点没有被击中.
我该如何逐步完成?
编辑:我的断点没有被击中
延迟回复,但如果你没有找到你之前的答案,它可能会有用.
如果您通过复制现有的ashx处理程序创建了Handler,那么您的问题很可能是处理程序的标记文件仍然指向原始处理程序.
双击.ashx文件时,默认情况下会打开.ashx.cs文件,因为几乎不需要标记文件.
右键单击ashx VS将显示View Markup选项,确保Class属性不是指旧处理程序.
<%@ WebHandler Language="C#" CodeBehind="MyNewHandler.ashx.cs"
Class="mynamespace.MyOldHandler" %>
Run Code Online (Sandbox Code Playgroud)
我有这个问题,结果是ashx文件没有编译.我想它们是在运行时编译的,因为在那之前我没有得到编译错误.另外,我没有看到黄色死亡屏幕表示HttpCompileException,因为:
最后我确实看到了新引入的异常,修复了编译错误,现在断点正在按照它应该被击中,虽然它在调试器最初启动时没有点亮,而是在调用处理程序时(通过AJAX调用)在我的情况下).
在 Visual Studio 中打开处理程序文件并按照您所说的方式放置断点。然后在浏览器中加载 Web 应用程序(当然以调试模式启动应用程序)。如果断点保持灰色并且没有变成黑色,那么您的处理程序可能没有在您的 web 应用程序中正确注册。这主要是问题所在。如果您认为一切正常,请尝试对整个解决方案进行清理+重建。并将您的项目设置为启动项目(如果您使用多个项目)。通常这已经有帮助了。