.Net解決Web API中“服務(wù)器響應(yīng)狀態(tài)碼為405(方法不允許)”錯誤的兩種解決方案
我在為一個新項(xiàng)目使用 Web API 時,突然遇到一個錯誤:“服務(wù)器響應(yīng)狀態(tài)碼為 405(方法不允許) ”,當(dāng)時我正嘗試通過 API 刪除一條記錄。我百思不得其解,最終找到了解決方案?,F(xiàn)在我將分享這個解決方案,希望對您有所幫助。
如果您遇到此錯誤,可以嘗試以下解決方案。
方案 1修改 Web.Config 文件
這是您必須嘗試的第一件事。請?jiān)?Web.Config 文件中添加以下標(biāo)簽。
validation validateIntegratedModeConfiguration= "false" /> <modules runAllManagedModulesForAllRequests= "true" > <remove name= "WebDAVModule" /> </modules> 如果仍然出現(xiàn)錯誤,請嘗試在 `<handlers>` 標(biāo)簽下添加一個標(biāo)簽,如下所示: `<handlers> <remove name="WebDAV" /> ..... </handlers>`
如果以上方法無效,您可以嘗試下一個解決方案。
方案 2恢復(fù)參數(shù)名稱
眾所周知,我們有一個名為 `WebApiConfig.cs` 的文件,用于設(shè)置 `MapHttpRoute` 和其他配置過濾器。默認(rèn)情況下,此處的參數(shù)為“id”,如下所示。

config.Routes.MapHttpRoute( ?
? ?name: "DefaultApi", ?
? ?routeTemplate: "api/{controller}/{id}", ?
? ?defaults: new { id = RouteParameter.Optional } ?
); ?如果您以任何方式更改了函數(shù)的參數(shù),則需要將其恢復(fù)為“ id ”,或者需要在WebApiConfig.cs文件中進(jìn)行更改。
例如,以下是我的刪除函數(shù)。
// DELETE: api/Subscriber/5 ?
public void Delete(int subId) ?
{ ?
? ? tbl_Subscribers dlt = myEntity.tbl_Subscribers.Find(subId); ?
? ? if (dlt != null) ?
? ? { ?
? ? ? ? try ?
? ? ? ? { ?
? ? ? ? ? ? myEntity.tbl_Subscribers.Remove(dlt); ?
? ? ? ? ? ? myEntity.SaveChanges(); ?
? ? ? ? } ?
? ? ? ? catch (Exception) ?
? ? ? ? { ?
? ? ? ? ? ? throw; ?
? ? ? ? } ?
? ? } ?
} ?如您所見,我已將參數(shù)更改為“subId”。因此,我一直收到“服務(wù)器響應(yīng)狀態(tài)碼為 405(方法不允許) ”的錯誤。然后,我按如下方式修改了我的函數(shù)。
// DELETE: api/Subscriber/5 ?
public void Delete(int id) ?
{ ?
? ? tbl_Subscribers dlt = myEntity.tbl_Subscribers.Find(id); ?
? ? if (dlt != null) ?
? ? { ?
? ? ? ? try ?
? ? ? ? { ?
? ? ? ? ? ? myEntity.tbl_Subscribers.Remove(dlt); ?
? ? ? ? ? ? myEntity.SaveChanges(); ?
? ? ? ? } ?
? ? ? ? catch (Exception) ?
? ? ? ? { ?
? ? ? ? ? ? throw; ?
? ? ? ? } ?
? ? } ?
} ?更改參數(shù)名稱后,一切正常。希望對您有所幫助。就這些了。我們完成了。祝您編碼愉快。
總結(jié)
是否遺漏了您認(rèn)為需要的內(nèi)容?您嘗試過 Web API 嗎?您是否曾經(jīng)想過實(shí)現(xiàn)這個需求?您覺得這篇文章有用嗎?
以上就是.Net解決Web API中“服務(wù)器響應(yīng)狀態(tài)碼為405(方法不允許)”錯誤的兩種解決方案的詳細(xì)內(nèi)容,更多關(guān)于.Net解決Web API出現(xiàn)405錯誤的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ASP.NET Web API教程 創(chuàng)建Admin視圖詳細(xì)介紹
現(xiàn)在我們轉(zhuǎn)入客戶端,并添加一個能夠使用從Admin控制器而來的數(shù)據(jù)的頁面。通過給控制器發(fā)送AJAX請求的方式,該頁面將允許用戶創(chuàng)建、編輯,或刪除產(chǎn)品2012-11-11
C#中string與byte[]的轉(zhuǎn)換幫助類-.NET教程,C#語言
在寫c#程序時,string和byte[]之間的轉(zhuǎn)換比較煩,在移植一些老程序時感覺很不好。我在c#中使用des和tripledes時移植一塊老代碼時也遇到了同樣的情況。為了下次不為同樣的事情煩惱,就寫了下面的幫助類。2008-03-03
ASP.NET學(xué)習(xí)中常見錯誤總結(jié)歸納
這篇文章主要介紹了asp.net學(xué)習(xí)過程中碰到的常見錯誤的解決方法,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下2021-09-09

