Ошибка скрипта 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 и не найдены.
Ответ 2
Похоже, что обработчики необходимо было добавить в system.webserver в этом блоге: http://geekswithblogs.net/lorint/archive/2007/03/28/110161.aspx
Спасибо за помощь @Uwe Keim
Ответ 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.