Я перенес сайт с 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.