我正在尝试在我的示例Web应用程序中使用自定义HttpHandler。我遇到了很多问题,但最终遇到了错误500.应用程序池正在以Classic ASP.NET 2.0模式运行。服务器是IIS 7.5,操作系统是Win 7 Pro。
这是我的处理程序的代码:
public class SampleHandler : IHttpHandler
{
public SampleHandler()
{
}
public bool IsReusable
{
get
{
return true;
}
}
public void ProcessRequest(HttpContext context)
{
context.Response.Clear();
context.Response.ContentType = "text/html";
context.Response.Write("This is a sample content.");
context.Response.Expires = 0;
context.Response.End();
}
}
这是一个web.config文件内容:
<?xml version="1.0"?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.shc" type="SampleHandler"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add resourceType="Unspecified" verb="*" path="*.shc" name="SampleHandler" type="SampleHandler" modules="IsapiModule" scriptProcessor="c:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll\aspnet_isapi.dll"/>
</handlers>
</system.webServer>
</configuration>
以下是错误屏幕截图的链接:http://bit.ly/cmPk4i
有人可以告诉我我做错了什么吗?提前谢谢!
答案 0 :(得分:2)
尝试设置
<validation validateIntegratedModeConfiguration="false" />
在
<system.webServer>
我有500个错误并修复了它。
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add .... />
</handlers>
</system.webServer>
答案 1 :(得分:0)
从“您可以尝试的事项”列表中,您安装了.Net可扩展性功能吗?
您还可以在应用程序上启用“失败的请求”日志记录功能,该功能提供有关请求处理的详细信息。
至少,好消息是你的注册处理程序被识别为要执行的处理程序。