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

Настройте IIS7.5, чтобы разрешить вызовы веб-служб asmx

Я перенес сайт с IIS6 на Windows Server 2008 R2 IIS7.5. У него есть веб-служба asmx, которая работает нормально локально, но возвращает эту ошибку 500 при вызове с другого компьютера:

Неизвестный формат запроса для URL, неожиданно заканчивающегося на / myMethodName

Решение в предыдущих версиях - добавить это в web.config для необходимых протоколов (обычно без HttpGet для производства):

<system.web>
  <webServices>
    <protocols>
      <add name="HttpGet" />
      <add name="HttpPost" />
      <add name="HttpSoap" />
    </protocols>
  </webServices>
</system.web>

Это размещено везде, в том числе https://stackoverflow.com/questions/657313/request-format-is-unrecognized-for-url-unexpectedly-ending-in

Для IIS7.5 это вызывает ошибку конфигурации; Я понимаю, что этот раздел не принадлежит, но все равно попробовал. Я также свел вызов asmx к простому приветственному миру. Я также тестировал с помощью POST, просто чтобы устранить любые проблемы с GET.

Что эквивалентно IIS7.5? - либо формат web.config, либо кнопка пользовательского интерфейса для нажатия были бы действительно полезны.

Спасибо, Боб

ИЗМЕНИТЬ для ответа: Из справки ниже, это ДЕЙСТВИТЕЛЬНО работает - это идет в system.web, как и сказано; не system.webserver.

Если вы получаете "ошибку конфигурации" при выполнении вышеуказанных записей в IIS 7.5, вам необходимо внимательно изучить ошибку.

У меня IIS 7.5, и я просто попытался добавить ту же конфигурацию с помощью редактора конфигурации, и он сделал запись в файле web.config на веб-сайте по умолчанию.

Если вы можете опубликовать точную ошибку из файла журнала IIS или выполнить трассировку FREB, это поможет лучше изолировать проблему.

Выполните на своем сервере следующую команду: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe –iru

Это переконфигурирует скрипты для ASP.NET для конкретной версии .NET.