Как зарегистрировать обработчик в web.config для iis7

Мне пришлось 301 перенаправить некоторые страницы 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 ответ

Решение

Попробуйте использовать <add verb="*" path="*.htm" type="htmlhandler, assemblyName"/>,

Также <system.webServer> действует только если вы запускаете пул приложений в интегрированном режиме. Проверьте, используете ли вы пул приложений в интегрированном или классическом режиме.

Другие вопросы по тегам