【发布时间】:2012-07-06 20:13:20
【问题描述】:
工具: 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 是一个类
P.S:我关注了这个article
【问题讨论】:
-
在 VS 中选择 Start without Debugging 错误,它应该告诉你错误是什么。
-
@BrianMains 我只是这样做并修复了
</httphandlers>它没有正斜杠,我已经更新了我的问题并且错误消息仍然存在。 -
您能否在 web.config 中围绕 httphandlers 部分发布更多上下文。另外,您使用/定位的 IIS 版本是什么?
-
@BrianDishaw 我使用的是 Windows XP 的默认 IIS,我认为它的 iis 6.0
标签: c# asp.net visual-studio httphandler asp.net-1.1