Диагностировать, почему webresource.caxd запросы пусты
-
17-09-2020 - |
Вопрос
Я нахожу, что для одного конкретного запроса веб-приложений в webresource.axd возвращает совершенно пустую страницу. (Копирование и вставка ссылки в новое окно браузера приводит к тому, что доставляется долинный документ «Пустой ответ)
logs IIS, показывающие, что запросы на webresource.axd успешно (код состояния HTTP 200)
Сама приложение сложно, и поэтому, вероятно, что это то, что приложение делает, что вызывает это, однако я не знаю, что.
Какие дополнительные шаги отладки я могу предпринять, чтобы поработать, почему эти запросы не могут, и где я должен искать места, где конкретное поведение может повлиять на Webresource.axd таким образом?
Вещи, которые я пробовал до сих пор:
- .
- Создание нового виртуального каталога в IIS, указывая на тот же каталог, дает одинаковые результаты (пустой документ webresource.axd)
- Создание совершенно новой пустой страницы независимости и помещение его в этом каталоге дает те же результаты.
- Если я создаю новый виртуальный каталог в IIS, указывая на другую папку, то пустая страница работает как ожидалось.
- Подключение файлов web.config между рабочими / сломанными каталогами, по-видимому, не оказывает влияния.
Это на машине Windows XP, запущенная IIS 5.1
Решение
Оказывается, проблема была фильтром httpresponse, который я применял в методе Application_PreRequestHandlerExecute
в Global.Asax.Я использовал фильтр в целом до всех запросов - даже если фильтр оставил содержимое без изменений для Wbresouce.axd, это все еще вызвало проблемы.
Следующие ссылки помогали мне и описать это более подробно:
- .
- httpresponse filter rethovers ничего не возвращает
- http://daniel-richardson.blogspot.com/2008/11/how-to-apply-filter-to-content- veryurned.html
Решение было пропустить нанесение фильтра для webresouce.axd.
Другие советы
Если вы будете использовать предварительный просмотр Visual Studio 2013, это известная проблема: https:// connect.microsoft.com / VisualStudio / Обратная связь / Детали / 792689 / Webresource-axd-returns-a-200-ok-пустой ответ
(Очевидно, что это не относится к OP, но кому-то, кто приходит из Google)
Я не использовал application_prerequesthandleRexecute, но добавляя выводфильТерсмера в приложении_beginrequest.Это вызвало ту же проблему с ответом Webresource.axd, возвращающийся с кодом состояния 200, но пустой ответ.