Combres.axd возвращает 404 в приложении WebForms - PullRequest
4 голосов
/ 24 сентября 2011

У меня есть 2 приложения ASP.NET, 1 веб-форма и 1 MVC. Combres работал прекрасно для обоих, работая локально на IIS Express. После развертывания обоих приложений на тестовом сервере (IIS 7 оба приложения находятся на одном веб-сайте в IIS), ссылка combres.axd, на которую ссылаются страницы приложения WebForms, возвращает значение 404, а приложение MVC работает нормально.

Я подключил приложение WebForms к своему локальному IIS, и оно снова заработало.

Я посмотрел на модули и обработчики между моим локальным IIS, приложением MVC и приложением WebForms, и регистрации маршрутов выглядят одинаково.

Если я установлю defaultDebugEnabled = "true", тогда он генерирует тег сценария для каждого сценария в наборе ресурсов и работает нормально.

Есть идеи, как отладить 404 из combres.axd?

1 Ответ

3 голосов
/ 04 октября 2011

Отследил до конфигурации модулей в web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

Я работаю с устаревшим приложением WebForms, которое было создано на основе .NET 3.0 / 3.5, поэтому у меня не было набора атрибутов runAllManagedModulesForAllRequests. Я вижу в последнем шаблоне веб-форм ASP.NET для Visual Studio 2010 это теперь значение по умолчанию.

Я также нашел сообщение , в котором предлагается метод менее грубой силы, чтобы UrlRoutingModule перехватывал маршрут combres.axd.

<system.webServer>
    <modules>
        <remove name="UrlRoutingModule-4.0" />
        <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
    </modules>
</system.webServer>

В одном из комментариев упоминается это обновление, хотя я еще не тестировал его:

http://support.microsoft.com/kb/980368

...