工具: Visual Studio 2003 Enterprise Architect,ASP.net WebForms
语言: C#
大家好,
我刚刚实现了 HttpHandler 第一次,我以为我会没事的,但我正面临这个错误
错误信息:
尝试运行项目时出错:无法在 Web 服务器上开始调试。发送调试 HTTP 请求时发生服务器端错误。确保 erver 运行正常。通过执行 Debug.start without Debugging 验证 web.config 中没有语法错误。您可能还想参考在线文档中的 ASP.NET 和 ATL Server 调试主题。
代码:
我有ImageHandler.cs
课
public class ImageHandler : IHttpHandler
{
public ImageHandler()
{
}
public void ProcessRequest(HttpContext context)
{
//blah blah code
bytes = (byte[])cmd.ExecuteScalar();
context.Response.BinaryWrite(bytes);
}
}
我已经在请求请求的页面上注册了 WebHandler,
<%@ WebHandler Language="C#" Class="ace.ImageHandler" %>
我从 gridView 调用 HttpHandler
<asp:TemplateColumn>
<ItemTemplate>
<img src="ImageHandler.ashx?autoid=<%# Eval("Blob_Id").ToString() %>" width="150" height="100" />
</ItemTemplate>
</asp:TemplateColumn>
在 Web.Config 中注册处理程序
<httphandlers>
<add verb="GET" path="ace\ImageHandler.ashx" type="ace.ImageHandler, ImageHandler" />
<httphandlers>
更新:
我使用了 Debug > Start without Debugging 并执行了 WebApp 并得到了这个错误。
说明:处理服务此请求所需的配置文件期间发生错误。请查看下面的具体错误详细信息并适当地修改您的配置文件。
解析器错误消息:无法识别的配置部分“httphandlers”
源错误:
Line 9: <system.web>
Line 10:
Line 11: <httphandlers>
Line 12: <add verb="*" path="*.ashx" type="ace.ImageHandler, ImageHandler" />
Line 13: <httphandlers>
注意: ace 是命名空间,ImageHandler.cs
是一个类
PS:我关注了这篇文章