(405) 方法不允許。WCF 網路服務
介紹:
您好,我正在嘗試在本地 IIS 7.5 伺服器上設置 WCF Web 服務,但是在完成基本配置後,我無法使用 WinForms 測試客戶端發送數據,並且它返回標題中提到的錯誤。我已經在這個問題上搜尋了類似的執行緒,但我沒有找到任何適合我的問題的東西。
數據:
-從第 3 方提供的 Wcf WebService 和測試客戶端
他們已經在另一台伺服器上工作,我正在使用相同的版本
我在啟用或配置 IIS 時可能做錯了什麼
要求:
-我需要知道我需要啟用/禁用哪些 IIS 功能才能正確安裝它,以便我可以使用 Wcf WebService。(如果是這種情況)。
-如何正確配置伺服器以解決上述錯誤。
我的配置:
安裝 IIS 後,我將 DefaulAppPool 更改為 .NET Framework v4.0.30.319;流水線模式:集成。-高級設置:載入使用者配置文件 = False。
使用 DefaultAppPool.Binding 創建了一個名為“WcfMicrocontrollerService”的新網站;類型:http,IP地址:,埠:80
此時我可以通過 Web 瀏覽器訪問它,但是當我使用測試客戶端將數據 POST 到服務時,我收到以下錯誤:“遠端伺服器返回了意外響應:(405) 方法不允許。”
以下是 Fiddler 記錄的發送的數據包:已發送:
POST http://192.168.0.102/MicroControllerComSvc.svc HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://tempuri.org/IMicroControllerComSvc/GetMicrocontrollerData" Host: 192.168.0.102 Content-Length: 237 Expect: 100-continue Accept-Encoding: gzip, deflate Connection: Keep-Alive <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><GetMicrocontrollerData xmlns="http://tempuri.org/"><microControllerData>1,1,1,1,2,2,1,0,100,300</microControllerData></GetMicrocontrollerData></s:Body></s:Envelope>已收到:
HTTP/1.1 405 Method Not Allowed Cache-Control: private Allow: GET, HEAD, OPTIONS, TRACE Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Tue, 01 Mar 2016 10:44:44 GMT Content-Length: 5671這是正文:https ://dl.dropboxusercontent.com/u/2237590/405.html
這似乎表明我應該查看處理程序映射,但我不知道在那裡編輯什麼。
好的,在對您的問題進行了非常簡短的搜尋後,我 在 IIS8 上找到了以下問題 WCF;*.svc 處理程序映射不起作用
忽略問題是關於 IIS 8 的事實,您執行的是 Windows 還是 Windows Server?
如果您使用的是 Windows,請轉到…
- 控制面板 -> 程序 -> 程序和功能 > 打開或關閉 Windows 功能。在“.Net Framework 3.5(包括 .NET 2.0 和 3.0”部分)下
- 確保“Windows Communication Foundation HTTP 啟動”已打開。
- 還要檢查“.NET Framerwork 4.x 高級服務”和“WCF 服務”下的檢查,以確保那裡也打開了 HTTP 啟動。
這是來自該問題的圖片,顯示了要進行的 .net 4.5 更改。 要開啟的功能
如果您使用的是 Windows Server,請嘗試按照有關如何使用伺服器管理器設置角色的問題的第一個答案。