在 Class 内放置断点实现 IHttpHandler
Placing a Breakpoint Inside Class Implementing IHttpHandler
我无法始终如一地使 VS 调试器在 class 实现 IHttpHandler
的 ProcessRequest
() 内的断点处停止。
它实际上停止了一次,然后再也没有这样做过......
我正在使用 Visual Studio 2013 和 Windows 10.
这是我的示例代码:
MyImageHandler:
public class MyImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
AwDAL.AwDAL dal = new AwDAL.AwDAL();
int id = 100;
byte[] buffer = dal.GetProductPhotoByID(id);
context.Response.ContentType = "image/gif";
context.Response.OutputStream.Write(buffer, 0, buffer.Length);
}
public bool IsReusable
{
get
{
return false;
}
}
}
网络表格:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image runat="server" ImageUrl="~/MyImageHandler.ashx" />
</div>
</form>
</body>
</html>
加载图像没有问题:
如果您想在 ProcessRequest 方法上停止并且加载了断点但您没有命中它,则可能实际调用了另一个处理程序。
有一种简单的方法可以在 VS 中为解决方案中的所有处理程序设置多个断点。
转到调试->新建断点->在函数处中断
在下面的 window 中键入方法的名称(或其中的一部分),确保选中使用 Intellisense 复选框并按确定
VS 将在您的解决方案中查找所有具有相同名称的方法,您可以使用“全部”按钮一次将断点放在所有这些方法上。
如果你只需要给同一个 class 的所有方法添加断点来知道调用了哪个,你可以使用一些可以为你做的 VS 扩展,例如这就是你可以使用 Oz 代码:
该问题只出现在 Microsoft Edge 上,IE 或 Firefox 不会出现。
我无法始终如一地使 VS 调试器在 class 实现 IHttpHandler
的 ProcessRequest
() 内的断点处停止。
它实际上停止了一次,然后再也没有这样做过......
我正在使用 Visual Studio 2013 和 Windows 10.
这是我的示例代码:
MyImageHandler:
public class MyImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
AwDAL.AwDAL dal = new AwDAL.AwDAL();
int id = 100;
byte[] buffer = dal.GetProductPhotoByID(id);
context.Response.ContentType = "image/gif";
context.Response.OutputStream.Write(buffer, 0, buffer.Length);
}
public bool IsReusable
{
get
{
return false;
}
}
}
网络表格:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image runat="server" ImageUrl="~/MyImageHandler.ashx" />
</div>
</form>
</body>
</html>
加载图像没有问题:
如果您想在 ProcessRequest 方法上停止并且加载了断点但您没有命中它,则可能实际调用了另一个处理程序。
有一种简单的方法可以在 VS 中为解决方案中的所有处理程序设置多个断点。
转到调试->新建断点->在函数处中断
在下面的 window 中键入方法的名称(或其中的一部分),确保选中使用 Intellisense 复选框并按确定
VS 将在您的解决方案中查找所有具有相同名称的方法,您可以使用“全部”按钮一次将断点放在所有这些方法上。
如果你只需要给同一个 class 的所有方法添加断点来知道调用了哪个,你可以使用一些可以为你做的 VS 扩展,例如这就是你可以使用 Oz 代码:
该问题只出现在 Microsoft Edge 上,IE 或 Firefox 不会出现。