ASP.NET网站中使用自定义HttpHandler的错误500(IIS 7.5,Win7)

时间:2010-08-29 06:13:38

标签: asp.net configuration iis-7 httphandler

我正在尝试在我的示例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

有人可以告诉我我做错了什么吗?提前谢谢!

2 个答案:

答案 0 :(得分:2)

尝试设置

<validation validateIntegratedModeConfiguration="false" />

<system.webServer>

我有500个错误并修复了它。

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
        <add .... />
    </handlers>
</system.webServer>

答案 1 :(得分:0)

从“您可以尝试的事项”列表中,您安装了.Net可扩展性功能吗?

您还可以在应用程序上启用“失败的请求”日志记录功能,该功能提供有关请求处理的详细信息。

至少,好消息是你的注册处理程序被识别为要执行的处理程序。