Windows-Server-2008

配置 IIS7.5 以允許呼叫 asmx Web 服務

  • June 27, 2014

我將一個站點從 IIS6 遷移到 Windows Server 2008 R2 IIS7.5。它有一個 asmx Web 服務,在本地執行良好,但從另一台機器呼叫時返回 500 錯誤:

無法辨識以 /myMethodName 結尾的 URL 的請求格式

以前版本中的解決方案是將其添加到 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 呼叫歸結為一個簡單的 hello world。我也用 POST 進行了測試,只是為了消除 GET 的任何問題。

IIS7.5 的等價物是什麼?- web.config 格式或要推送的 UI 按鈕都會很有幫助。

謝謝,鮑勃

編輯答案: 從下面的幫助中,這確實有效 - 它像它所說的那樣進入 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

這將針對特定的 .NET 版本為 ASP.NET 重新配置腳本。

引用自:https://serverfault.com/questions/145128