我使用HttpClient
来调用我的MVC 4 web api。在我的Web API调用中,它返回一个域对象。如果出现任何问题,将在服务器上抛出一个HttpResponseException
,并附带自定义消息。HttpClient不报告从web API返回的异常
[System.Web.Http.HttpGet]
public Person Person(string loginName)
{
Person person = _profileRepository.GetPersonByEmail(loginName);
if (person == null)
throw new HttpResponseException(
Request.CreateResponse(HttpStatusCode.NotFound,
"Person not found by this id: " + id.ToString()));
return person;
}
我可以在使用IE F12的响应正文中看到自定义错误消息。但是,当我使用HttpClient
调用它时,我没有收到定制的错误消息,只有http代码。 404的“ReasonPhrase”始终为“未找到”,500代码为“内部服务器错误”。
任何想法?如何从Web API发送自定义错误消息,同时保持正常的返回类型为我的域对象?
你正在使用什么Web服务器,IIS或ASP.NET Web服务器? –
我在Win 2008 R2上使用IIS。再次,当我使用浏览器调用它时没关系。 – Calvin