Windows-Server-2008
配置 IIS7.5 以允許呼叫 asmx Web 服務
我將一個站點從 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>
對於 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 重新配置腳本。