【问题标题】:WCF WebApi HttpResponseException IssueWCF WebApi HttpResponseException 问题
【发布时间】:2012-02-18 06:28:19
【问题描述】:

我正在尝试抛出 HttpResponseException(HttpStatusCode.NotFound),但出现以下错误

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

我已经删除了我方法中的所有代码,我只是像这样抛出异常

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

如果我更改我的方法以返回 HttpResponseMessage,我可以让它正常工作,但是它不能解决问题,我无法让我的身份验证操作处理程序工作而无法抛出 HttpResponseException .

【问题讨论】:

    标签: wcf wcf-web-api


    【解决方案1】:

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

    throw new WebFaultException(HttpStatusCode.NotFound);
    

    【讨论】:

    • 效果很好,但由于某种原因,如果我使用未经授权的状态代码,我仍然会得到 404?
    • @Stuart 您是否有任何可能导致 404 的操作/消息处理程序?
    • @AntonyScott 我唯一的处理程序是我从 Haack 帖子中复制的授权处理程序。它只会抛出未经授权的异常。
    • 我用过它并且遇到了同样的问题,我改用消息处理程序,发现效果更好
    • 我现在也正在迁移到 ASP.NET Web Api,所以现在应该轻而易举了。感谢您的帮助@AntonyScott。现在只需要耐心等待MVC4的RTM
    猜你喜欢
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2018-07-08
    • 1970-01-01
    相关资源
    最近更新 更多