在我的Mvc Api控制器中,如果用戶無法通過身份驗證,則會拋出HttpException 401.但是,RestSharp客戶端似乎將其轉換爲Http 500狀態碼。如何將401驗證錯誤返回給RestSharp客戶端?
我希望能夠從我的Mvc控制器中拋出HttpExceptions,並讓RestSharp客戶端在其StatusCode屬性中保留原始錯誤。
此外,我注意到如果服務器沒有啓動,當RestSharp客戶端發出請求時,響應的狀態碼爲0,響應代碼爲Error。 RestSharp是否不會返回404 http錯誤代碼?
我真正需要的是關於RestSharp如何使用HttpCodes的一些文檔。
更新,其中的代碼在我的API控制器:
throw new HttpException((int)HttpStatusCode.Unauthorized, AuthenticationError);
Right @jaffa,這應該是MVC 4的公認答案。但是,我們不得不下載一些東西來返回401呢?荒謬。我這種蹩腳的解決方法是發送403 Forbidden。 (看我的答案)。 – Rap