Я создал образец проекта, чтобы упростить мою задачу. У меня есть такой простой обработчик:
public class HandleThis : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest( System.Web.HttpContext context )
{
// Score.aspx just says "success"
context.Response.Redirect( "Score.aspx" );
}
public bool IsReusable { get { return true; } }
}
Затем в моем конфиге есть следующее:
<httpHandlers>
<add verb="*"
path="Survey"
type="HttpHandlerTest.HandleThis, HttpHandlerTest" />
Теперь, когда я нажимаю http://server/Survey, срабатывает мой обработчик.
Если я изменю свой проект для работы с IIS 6, он не сработает (404). Я попытался вручную добавить обработчик в IIS через: - Свойства веб-сайта - Домашний каталог - Конфигурация - Добавить (перейдите к .dll моего сайта), Расширение: Опрос, снимите флажок «Проверить, существует ли файл»
Я заметил, что IIS (очень услужливо) добавляет "." перед моим расширением, поэтому я попал на сайт с помощью "b.Survey"; все еще 404.
Неужто в IIS 6 можно добавить обработчик?