Ошибка скрипта scriptresource.axd 404 в приложении asp net 4 - webresource работает нормально, хотя

Привет всем, у меня есть приложение .net 4, которое я только что развернул на производство. Приложение load отлично, за исключением того, что мои ссылки на js файлы arent загружаются должным образом. Используя fiddler, я обнаружил, что вызовы ScriptResource.axd возвращают 404 ошибки.

Здесь присутствует кикер, страница также делает вызов через WebResource.axd, и этот запрос работает нормально.

Какие идеи я могу проверить? Запустили IIS7. Он сбалансирован по нагрузке, но у нас есть машинные клавиши в конфиге. Я добавил раздел httpHandlers для scriptresource.axd.. но у меня все еще есть такая же проблема.. stumped...

Обновление - мы думаем, что веб-браузер не знает, что такое axd файл. Есть ли какая-либо установка для .net, которая будет устанавливать сопоставления axd в iis?

Ответы

Ответ 1

"404" также может означать (при определенных условиях) "Не включено" или "не разрешено". У меня было некоторое время назад на сервере, и мне пришлось активировать расширение.

Другим способом было бы использовать Process Monitor, чтобы узнать, ищут ли реальные файлы в процессе IIS и не найдены.

Ответ 3

У меня была такая же проблема сегодня, но это было вызвано правилом перезаписи, которое переписывало запрос из /ScriptResource.axd' to/some_application/ScriptResource.axd ', который не был действительной целью. Исправление правила для игнорирования URL-адресов с помощью .axd разрешило проблему.

Ответ 4

Это сработало для меня:

Добавьте обработчик ниже в ваш web.config:

<system.webServer>
<handlers>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode" />

Ответ 5

Два возможных решения из http://blogs.msdn.com/b/carloc/archive/2008/12/04/webresource-axd-or-scriptresource-axd-not-working.aspx:

  • Сжатие IIS приводит к сбою запросов WebResource.axd. Отключите сжатие для веб-приложения IIS и повторите попытку.
  • Web.config для корневого или специального приложения IIS имеет ScriptMaps, установленный для проверки *.axd или WebResource.axd - это реальный файл (которого нет). Прочтите ссылку для шагов исправления (по крайней мере, для IIS6: -)).

Ссылка также имеет хорошую справочную информацию WebResource.axd, даже если она не решает вашу проблему напрямую. Моя проблема Проблема WebResource.axd 404, к сожалению, возникает только тогда, когда Fiddler работает (!), Но это отдельный вопрос, чем опубликованный.

Наслаждайтесь! -Zephan

Ответ 6

Убедитесь, что время на сервере не установлено до момента публикации сайта.

Ответ 7

Для меня все файлы AXD терпят неудачу. Проведя целую неделю, пытаясь найти каждый ответ в Интернете, не повезло:

Я создал пустые файлы ScriptResource.axd и WebResource.axd, и он решил проблему. Я хотел бы знать, какова настоящая проблема.

Ответ 8

Я столкнулся с этой проблемой. Вышеупомянутые решения не сработали для меня, но что это за работа - комментарий от на этой странице:

Эта проблема возникает, если ваш файл web.config не находится в корневой папке или папка не является приложением в IIS.

Я решил его, скопировав файл web.config в корневую папку веб-сайта.

Ответ 9

Для меня проблема была в том, что мой сервер был настроен на неподходящее время. Его дата была установлена ​​на 6/12/2012 вместо 6/21/2013. Исправлена ​​дата и пуф! он начал работать:)

Ответ 10

Это можно решить двумя способами. Один из них - установить параметр пула приложений IIS7 "Управление режимом трубопровода" в "Классический" при использовании параметра HttpHandlers. Если IIS7 и/или IIS7 Express должны использовать Integrated вместо Classic, нам нужно использовать параметры system.webServer.handlers с атрибутом precondition, установленным в интегрированный режим.

Это обычная проблема при перемещении некоторых старых веб-приложений в облачные среды. Подробнее см. В этой статье:

http://www.ozkary.com/2015/12/404-error-axd-http-handler.html

Надеюсь, что это поможет.

Ответ 11

Решил, добавив

<system.webServer>
  <handlers>
    <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

Ответ 12

Потратив 4 часа, я обнаружил на asp.net 4.0 новое свойство EnableCdn, которое, в основном, если оно установлено в значение "true", загружает ресурсы с серверов ресурсов контента Microsoft.

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" 
        ScriptMode="Release" AsyncPostBackTimeout="600" EnablePageMethods="true" EnableCdn="true" />

Ответ 13

Это мой случай: у меня есть правила перезаписи URL в корне сети, и я публикую приложение в корне, который наследует правила перезаписи URL, которые перенаправляют все запросы .axd куда-то еще. Отключение правила перезаписи в папке приложения из диспетчера IIS решило проблему для меня.

Ответ 14

У меня была такая же проблема, и она была вызвана модулем перезаписи URL. Я прокомментировал

<system.webServer>  
<modules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />

и сайт загрузил веб и скрипт resource.axd.