如何在web.config中为iis7注册处理程序

时间:2013-01-28 12:17:30

标签: asp.net web-config httphandler ihttphandler

我不得不重定向一些htm页面。我试图通过HttpHandler来做到这一点。这个网站不使用任何命名空间。 我按如下方式创建了一个测试处理程序:

<%@ WebHandler Language="C#" Class="htmlhandler" %>

using System;
using System.Web;

public class htmlhandler : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        string url = HttpContext.Current.Request.Url.AbsoluteUri;
        context.Response.ContentType = "text/plain";
        context.Response.Write(url);
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

Web.config中,我尝试按如下方式注册处理程序:

<httpHandlers>
  <add verb="*" path="*.htm" type="htmlhandler"/>
</httpHandlers>

但是我收到以下错误:

Parser Error Message: Could not load file or assembly 'htmlhandler' or one of its dependencies. The system cannot find the file specified.

请帮忙。我的处理程序放在App_Code文件夹中,但服务器仍无法找到它。

1 个答案:

答案 0 :(得分:1)

尝试使用<add verb="*" path="*.htm" type="htmlhandler, assemblyName"/>

只有在集成模式下运行应用程序池时,<system.webServer>才有效。检查您是以集成模式还是经典模式运行应用程序池。