Хорошо, вот некоторые подсказки ни в каком особом приносящем пользу производительности порядке;
Я добавлю больше, если я буду думать о ком-либо хорошо, всего наилучшего.
IIS 7/7.5 имеет новую "функцию" - Role Services. Сообщение от rsbarro напомнило мне, что существует один ролевой сервис, который ответственен за статическое содержание. Это - веб-сервер / Общие Функции HTTP, Довольные / Статичные Довольный. Проверьте, присутствует ли значок MIME Types в менеджере по IIS, как rsbarro предложен.
Необходимо установить Статический ролевой сервис Содержания, если он не делает. Чтобы сделать это, выберите:
Из того, что Вы описываете, это, кажется, Ваша проблема.
В целом, если IIS7 не делает чего-то, что сделал IIS6, первая вещь проверить состоит в том, чтобы видеть, установлен ли соответствующий ролевой сервис.Надеюсь, это поможет.
Под IIS перейдите к своему веб-сайту и проверьте раздел MIME Types (см. изображение ниже). Удостоверьтесь, что Вы видите записи в том списке для .js, .css, .html, и т.д., и что у них есть надлежащий указанный тип MIME. IIS 7.5 только подаст страницы, если будет указанный тип MIME. По умолчанию типы MIME для этих расширений являются установкой в applicationHost.config
файл, расположенный в C:\Windows\system32\inetsrv\config
папка (Вам, вероятно, придется выполнить блокнот как Администратору для просмотра файла). Просто поиск .js и необходимо найти запись под <mimeMap>
в <staticContent>
элемент.
Эти настройки могут быть переопределены в Вашем web.config
файл. Если они будут, то они появятся в следующем месте в web.config
:
<system.webServer>
<staticContent>
<remove fileExtension=".js" />
</staticContent>
</system.webServer>
Я определенно запустил бы путем проверки там. Если все смотрит хорошо под разделом типов MIME, то возможно, что у Вас есть модуль, который вмешивается в запросы на статические файлы (но скорее всего только если Вы имеете <modules runAllManagedModulesForAllRequests="true" />
набор в Вашем <system.webServer>
раздел). Если это так, я удалил бы всю установку модулей в Вашем web.config
и посмотрите, можно ли поднять статические файлы, и затем повторно добавлять их по одному для наблюдения, какой модуль вызывает проблему. Если бы Вы не можете понять это затем, я предложил бы отправить содержание Вашего web.config
(или по крайней мере system.web
и system.webServer
разделы) в вопросе.
У меня была такая же проблема, но мой пул приложений работал под учетной записью домена, и этот пользователь имел права на папку веб-сайта. На моем веб-сайте отображается aspx, но нет статического содержимого. Моя проблема была решена путем добавления группы IIS_IUSRS в локальную политику безопасности, называемую «олицетворять клиента после аутентификации». В группе IIS_IUSRS была моя учетная запись домена. Я использую сервер iis 7.5 Windows 2008.