工具: Visual Studio 2003 Enterprise Architect,ASP.net WebForms
语言: C#
Hello Guys,
我刚刚第一次实施了HttpHandler,我以为我没事,但是我遇到了这个错误
尝试运行poject时出错:无法在Web服务器上启动调试。发送调试HTTP请求时发生服务器端错误。 确保erver正常运行。通过执行Debug.start而不调试,验证web.config中没有语法错误。您可能还需要参考联机文档中的ASP.NET和ATL Server调试主题。
CODE:
我有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&gt;在没有调试和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
是一个类
P.S:我已关注此 article
答案 0 :(得分:1)
应该是<httpHandlers>
,第二个H作为大写字母。我只是在我的项目上尝试过,资本化很重要。
答案 1 :(得分:0)
看看这篇文章,它有关于使用HTTPHandler从数据库中获取图像的逐步说明。