2017-10-05 95 views
0

我用下面的代碼把數據給我的API:Put方法

using (var client = new HttpClient()) 
    { 
     client.BaseAddress = new Uri(Baseurl); 
     client.DefaultRequestHeaders.Clear(); 
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     HttpResponseMessage response = client.PutAsJsonAsync($"/api/Home/UpdateEmpDetails/{id}", newEmployee).Result; 

     if (response.IsSuccessStatusCode) 
     { 
      //... 
     } 
    } 

,但我得到了以下錯誤:

{StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { X-Powered-By-Plesk: PleskWin Connection: close Date: Thu, 05 Oct 2017 05:26:07 GMT Server: Microsoft-IIS/10.0 X-Powered-By: ASP.NET Content-Length: 1293 Allow: GET Allow: HEAD Allow: OPTIONS Allow: TRACE Content-Type: text/html }} 

誰能幫助我?

回答

0

WebDAV模塊可能會導致405錯誤,因此請確保您沒有安裝WebDAV模塊。從控制面板>「打開或關閉Windows功能」檢查它是否安裝。如果你不需要使用WebDAV,那麼刪除「WebDAV Publishing」來解決「405方法不允許」的問題。

或者你可以將它通過添加解決它的唯一的項目下列您的WebAPI項目的web.config文件:

<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="WebDAVModule"/> <!-- add to remove webdav --> 
</modules> 
+0

我刪除了「WebDAV發佈」,但問題仍然剩餘。 – fateme