0

工具: 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:我关注了这篇文章

4

1 回答 1

1

它应该<httpHandlers>与第二个 H 作为大写字母。我刚刚在我的项目中尝试过,大小写很重要。

于 2012-07-06T12:10:06.433 回答