1
我使用HttpClient調用此Web API的Web API總是返回我已經拋出
using (var client = new HttpClient(new HttpClientHandler() { Credentials = _credentials }))
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return await client.PostAsJsonAsync(controlActionPath, entityObject);
}
的Web API控制器我扔波紋錯誤內部服務器錯誤,而不是錯誤:
throw new DuplicateNameException("User already exists.");
然而網絡應用程序總是收到內部服務器錯誤,而不是DuplicateNameException
。
如果有人建議什麼纔是從Web API獲取確切異常回到Web應用程序的最佳方法,將會有所幫助。
您在控制器拋出的異常必須按順序轉換成HTTP消息回到你的客戶端。默認情況下,Web API正在處理異常並將其封裝在HTTP狀態代碼500(內部服務器錯誤)中,然後可能會執行一些操作,例如在響應正文中爲異常寫入堆棧跟蹤。 我不知道如何在響應中得到確切的異常,而不需要執行序列化異常,返回它,然後在客戶端反序列化它。 – ivanPfeff
您可以發佈Web API操作方法的代碼嗎? – Win