5

我想处理 WebAPI 操作方法中的异常,方法是捕获它们设置状态代码,并将消息写入响应。通常在普通的 MVC 中Controller,我会这样做,使用Controller'sResponse属性:

Response.StatusCode = 404;
Response.Write("Whatever");

但是它似乎ApiController没有任何Response属性。是否有一个原因?HttpContext.Current.Response像这样使用可以吗:?

HttpContext.Current.Response.StatusCode = 404;
HttpContext.Current.Response.Write("Whatever");

或者是否有一种特定的方式来写入来自 WebAPI 控制器的响应?

4

2 回答 2

7

action 方法应该创建响应对象。要么只做新的 HttpResponseMessage 要么调用 this.CreateResponse。

如果您想要返回自定义 CLR 对象而不是返回 HttpResponseMessage,那么您将需要抛出 HTTPResponseException 以返回 404。

于 2012-08-31T16:22:59.823 回答
0
于 2013-05-31T22:59:29.563 回答