IIS7 повертає порожнім, коли запитується статичний вміст


14

Я намагаюся налаштувати демонстраційну машину, яка є EEEPC з Windows 7 Home Premium Edition, усі драйвери належним чином завантажені (не питайте мене, чому це Home Edition) із встановленим IIS7.

Я розгорнув додаток для демонстрації на машині, яка є сайтом ASP.NET MVC, додав веб-сайт через консоль, додав пул додатків. Пул додатків працює як NetworkService, а гість автентифікується як IUSR.

Я додав права змінити NetworkService і читати та виконувати права IUSR на папку веб-сайту та його вміст.

Коли я потрапляю в корінь Інтернету, скажімо, http://example.com/, я отримую належний HTML-код, відображений на веб-сайті (це означає, що програма працює), але проблема полягає в тому, що весь статичний вміст повертається порожнім.

Я не впевнений, чому це відбувається. Немає сторінки 404 або 500 помилок, просто порожня відповідь, коли я отримую доступ до статичного вмісту. Весь вміст, створений ASP.NET, працює чудово (хоч і трохи дивно, оскільки всі CSS та зображення не завантажуються)

Будь ласка, допоможіть, консоль управління IIS7 мене дуже бентежить, і мені потрібна машина до завтра.

Відповіді:



2

У моєму випадку роль сервера вже була встановлена, і все ж статичний обробник обслуговував порожні сторінки навіть для тривіального тестового сайту із лише одним відображенням обробника.

Виправлення полягало в тому, щоб увімкнути обмеження запиту "Викликати обробник лише в тому випадку, якщо запит відображено на". Не має значення, встановив я його "Файл" або "Файл або каталог"; доки прапорець включений, він працює:

                  введіть тут опис зображення

Якщо це все-таки не допомагає, інша річ, яка веде до порожніх сторінок, намагається вказати шлях у розділі «Шлях запиту», як-от publicабо, можливо public/*. Останнє просто неправильно, тоді як перше слід прийняти, але натомість виходить порожні сторінки. Рішення полягає в тому, щоб перегорнути карти обробника в <location path='public'>розділ, вказавши *для параметра "Шлях запиту". Або в IIS Manager розгорніть сайт і спочатку виберіть папку, а потім відредагуйте відображення обробника.


1

Як запропонував @MattB, у мене не було ввімкнено функцію "Статичний вміст", але це лише одна частина проблеми.

Я додав функцію "Статичний вміст", але проблема все ще зберігається, тому я намагаюся видалити MvcHttpHandler зі списку оброблювачів за замовчуванням і якось проблема вирішується ... так що проблема полягала в тому, що MvcHttpHandler перехоплював запити перед StaticFileHandler,

FYI, встановивши "Статичний вміст", також переконайтесь, що ...

  1. У Менеджері інформаційних послуг Інтернету натисніть веб-сайт.
  2. Двічі клацніть на функції "Обробляння відображень".
  3. Праворуч (панель "Дія") ви побачите посилання під назвою "Переглянути упорядкований список ...", натисніть на нього.
  4. Потім ви знайдете замовлення, модуль якого відповідає кожному запиту, і переконайтеся, що замовлення має сенс.

У моєму випадку MvcHttpHandler був вище всього іншого, я вирішив проблему, перемістивши її в нижню частину списку, яке є найрозумнішим місцем, у якому воно повинно бути, оскільки файлові обробники файлів AXD, обробники TRACE, обробник OPTIONS та статичний вміст отримують знімок при першому зверненні із запитом.

Сподіваюсь, це допомагає комусь гуглати з тієї ж проблеми :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.