在我的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