Служба ASMX работает на сервере разработки, возвращает 404 при развертывании в IIS 7.5
У меня есть веб-приложение в ASP.NET 4.0. Я добавил службу asmx, прежде всего в качестве источника для значений поиска расширителя автозаполнения.
Когда я отлаживаю свою локальную машину, все работает нормально. Однако, когда я развертываю веб-приложение в IIS 7.5, я получаю ответ HTTP 404 при попытке отправить данные в службу.
Я могу перейти к определению службы, см. доступные операции. Говоря, однако, когда я использую тестовые страницы для тестирования службы с помощью POST, я снова получаю HTTP 404.
Я не уверен, что происходит. Я создал файл asmx в своем веб-приложении и развертывается в виртуальном каталоге моего рабочего приложения, работающего в других приложениях.
Есть ли проблема с расширением .asmx файла в том же виртуальном каталоге, возможно?
Ответы
Ответ 1
Я только что столкнулся с той же ошибкой, после спотыкания над этой записью SO:
Обработчики возвращают ошибку 404 в интегрированном конвейере IIS7.5 и
Операция ASMX 404s, но описание службы ASMX не связано с проблемой маршрутизации URL-адреса?
и попробовал решение о добавлении обработчика asmx в раздел webserver web.configs, все было хорошо:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<add verb="*" path="*.asmx" name="asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</handlers>
</system.webServer>
Ответ 2
Вы должны проверить пул приложений для веб-службы:
- Он настроен на использование правильной версии .NET.
- Проверьте личность
- Проверить режим управляемого конвейера; некоторые приложения требуют использования Classic