ASP.NET настраиваемый HttpHandler в IIS 7, 7.5 - PullRequest
1 голос
/ 24 февраля 2012

Мой web.config настроен следующим образом.Мой обработчик живет в сборке под названием TestProject.Custom.Я вызываю этот обработчик через пост jQuery, прекрасно работает в VS 2010 (конечно!), Но когда я отправляю его в IIS 7.5 или IIS 7, он выдает 404 о невозможности найти TestHandler.ashx.Не уверен, что мне не хватает.

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

<handlers>
  <add name="TestHandler"
       verb="*" preCondition="integratedMode"
       path="TestProject.Custom.HttpHandlers.TestHandler.ashx"
       type="TestProject.Custom.HttpHandlers.TestHandler, TestProject.Custom"/>

</handlers>

Редактировать: я вызываю этот обработчик с помощью jQuery, и обработчик находится за аутентификацией форм (что, я не думаю, является проблемой):

jQuery(function () {
    jQuery.ajax({
        type: "POST",
        url: "TestHandler.ashx",
        data: { "test_data": "some test data" }
    });
});

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Я думаю, что атрибут path должен иметь значение «TestHandler.ashx» вместо его текущего значения.Он должен соответствовать URL, который вы используете в jQuery.В противном случае ожидается 404.

0 голосов
/ 24 февраля 2012

404 обычно означает проблему с регистрацией, в основном он просто не может найти что-то для обработки поступившего запроса.

Внутри узла добавления попробуйте добавить в конце следующий атрибут: resourceType= "Unspecified"

Это говорит IIS не искать физический файл, когда видит запрос на ashx.Я думаю, что это вызывает 404

...