Настройте IIS 7.0 для включения веб-сервисов в классическом режиме - PullRequest
4 голосов
/ 05 февраля 2010

Каковы параметры файла конфигурации для включения веб-сервисов на IIS 7.0 в классическом режиме? Сайт должен быть в пуле приложений в классическом режиме, потому что средство просмотра отчетов контролирует сбои при работе в интегрированном режиме. Однако в пуле приложений в классическом режиме веб-службы выдают следующее сообщение об ошибке:

Запрошенный контент сценарий и не будет обслуживаться статический обработчик файлов.

• Если вы хотите использовать этот контент как статический файл, добавьте явный MIME карта

EDIT - Дополнительная информация об ошибке:

  1. Ошибка HTTP 404.17 - не найдена
  2. Модуль: StaticFileModule
  3. Уведомление: ExecuteRequestHandler
  4. Обработчик: StaticFile
  5. Код ошибки: 0x80070032

Примечание: Этот конкретный экземпляр приложения будет работать в учетной записи клиента в среде общего хостинга, поэтому доступ к интерфейсу IIS недоступен / будет недоступен. Специально для поиска настроек файла конфигурации.

Ответы [ 3 ]

5 голосов
/ 05 февраля 2010

В диспетчере IIS (Пуск -> Выполнить -> inetmgr) выберите веб-сайт или виртуальный каталог, для которого требуется установить классический режим.

На правой панели «Действия» нажмите «Основные настройки».

Рядом с пулом приложений (по умолчанию используется DefaultAppPool), нажмите «Выбрать» и измените его на «Классический .Net AppPool».

Прохождение здесь .

Обновление: извините, я неправильно прочитал ваш вопрос. Есть несколько вещей, которые вы можете попробовать:

Во-первых, необходимо дважды проверить функции установки IIS с панели управления (Программы и компоненты -> Включить и выключить функции Windows -> Информационные службы Интернета -> Службы всемирной паутины -> Функции разработки приложений). У меня все проверено на панели CGI и на стороне сервера).

Во-вторых, убедитесь, что ваш сайт правильно настроен как приложение (выберите веб-сайт -> Действия -> Просмотр приложений). Если его там нет, вам нужно добавить его.

Третья вещь, которую нужно проверить, это, в частности, Обработчики, доступ к которым осуществляется через IIS Manager -> Выбрать веб-сайт -> Сопоставления обработчиков -> Открыть функцию -> Убедитесь, что .asmx существует. У меня есть три раза, WebServiceHandlerFactory-Integrated (обработчик System.Web.Handlers.WebAdminHandler), WebServiceHandlerFactory-ISAPI-2.0 (модуль Isapi) и WebServiceHandlerFactory-ISAPI-2.0-64 (модуль Isapi).

Наконец, вы убедитесь, что используете правильную версию .NET для этого приложения.

Опять извинения за оригинальный ответ.

1 голос
/ 25 февраля 2011

Спасибо Junto за этот пост! Я перепробовал столько всего, что предлагали другие люди, но не смог заставить мой сайт работать. Я следовал вашим инструкциям и, конечно же, мои приложения были перечислены в разделе Сайты в IIS, но не отображались в пулах приложений. Я удалил Приложения и создал их. После этого все работает как положено.

На случай, если кому-то интересно, через что я прошел. Я мигрировал с IIS6 на IIS7. Кажется, что все виртуальные каталоги и приложения перенесены нормально, но не все они попали в пулы приложений. Поэтому, если вы столкнулись с той же проблемой: «Ошибка 400.17. Если вы хотите использовать этот контент как статический файл, добавьте явную карту MIME», проверьте пул приложений, чтобы убедиться, что все ваши приложения отображаются. *

0 голосов
/ 05 февраля 2010

Похоже, ваши HandlerMappings немного странные. Вы можете вернуться к общеизвестному базовому уровню (при условии, что вы не работали с серверными сопоставлениями обработчиков), выполнив:

  1. Открыть IIS Manager
  2. Открыть сайт, о котором идет речь
  3. В представлении функций для сайта откройте функцию сопоставления обработчиков
  4. На панели действий (вверху справа) нажмите «Вернуться к родителю»
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...