WCF的WebAPI HttpResponseException问题

问题描述:

我想抛出一个HttpResponseException(HttpStatusCode.NotFound),我收到以下错误WCF的WebAPI HttpResponseException问题

通过此异常的响应属性返回的响应消息,应立即返回给客户端。不需要进一步处理请求消息。

我已经然而除去所有的代码在我的方法,我只是抛出这样

[WebGet] 
public MyData Get() 
{ 
    throw new HttpResponseException(HttpStatusCode.NotFound); 
} 

例外。如果我改变我的方法返回一个HttpResponseMessage我可以让它正常工作,它不能解决问题,我无法让我的身份验证操作处理程序工作,但无法抛出HttpResponseException

尝试使用WebFaultException返回在WCF HTTP状态代码...

throw new WebFaultException(HttpStatusCode.NotFound); 
+0

是伟大的工作,但由于某种原因,如果我使用未经授权的状态代码,我仍然获得了404? – Stuart 2012-02-18 09:36:14

+0

@Stuart你有任何操作/消息处理程序可能会导致404? – 2012-02-18 09:40:23

+0

@AntonyScott我拥有的唯一处理程序是我从哈克文章中复制的授权处理程序。它只会抛出未经授权的例外。 – Stuart 2012-02-18 09:52:15