Назад | Перейти на главную страницу

Ошибка 404 веб-службы iis 7 .net

У меня есть веб-сервис /test/Service1.asmx в той же папке, что и страница /test/test.aspx.

Страница работает нормально, но я получаю сообщение ниже для служб в том же месте. Я знаю, что файл есть и URL правильный, и я также добавил модуль сценария и управляемый обработчик. Если кто-нибудь знает, что мне здесь не хватает, я был бы признателен

Ошибка сервера в приложении '/'


Ресурс не найден. Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно.

Запрошенный URL: /test/Service1.asmx


Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.4200; Версия ASP.NET: 2.0.50727.4016

ЖУРНАЛ НЕУДАЧНЫХ ЗАПРОСОВ: ModuleName ManagedPipelineHandler Notification 128 HttpStatus 404 HttpReason Not Found HttpSubStatus 0 ErrorCode 0 ConfigExceptionInfo
Уведомление EXECUTE_REQUEST_HANDLER ErrorCode Операция успешно завершена. (0x0)

Я столкнулся с этой проблемой при выполнении некоторых тестовых миграций наших приложений интрасети с IIS6 на 7. Я смог решить проблему, изменив следующий раздел файла Web.config:

<system.webServer>
   <validation validateIntegratedModeConfiguration="false"/>
   <modules>
      <remove name="ScriptModule"/>
   </modules>
   <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <remove name="ScriptHandlerFactory"/>
      <remove name="ScriptHandlerFactoryAppServices"/>
      <remove name="ScriptResource"/>
   </handlers>
</system.webServer>

+ Изменить validateIntegratedModeConfiguration к правда, и удалите WebServiceHandlerFactory-Integrated из списка удаления.

Как ни странно, из памяти ASP.NET добавляет именно эти строчки IIS7. Ну что ж.

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

Мне потребовалось так много времени, чтобы понять, потому что, когда я пытался просмотреть эти страницы на сервере приложений (Windows Server 2008), это не позволяло мне просматривать незащищенные страницы (протокол http) из-за настроек безопасности Internet Explorer. У меня была привязка только к порту 80 при тестировании в браузере на сервере. Поэтому я не мог даже увидеть скомпилированную aspx-страницу, не говоря уже о aspx-страницах, которые не были скомпилированы. Однако на обоих полях на одном сайте была видна простая HTML-страница - эта часть была интересной. Когда я просматривал страницы на другом компьютере (под управлением Windows 7) в этой сети, скомпилированная aspx-страница показывалась нормально, потому что она была скомпилирована. И некомпилированные страницы - нет.

вы установили службу ролей ASP.NET для IIS 7?