代码之家  ›  专栏  ›  技术社区  ›  Wilfred Knievel

返回带有来自wcf rest服务的消息的httpstatus代码,iparameterinspector aftercall可以处理这些消息

  •  2
  • Wilfred Knievel  · 技术社区  · 14 年前

    因此,在一些服务中,我有许多方法,这些方法是用自定义属性修饰的。

    该属性使用 ApplyDispatchBehavior IOperationBehavior 附加到方法和 BeforeCall AfterCall 方法从 IParameterInspector 在调用服务方法之前和之后进行一些处理。

    一切都很好,很好… 当services方法需要返回HTTP状态和消息时,就会出现问题。我能找到的唯一方法是让方法 WebFaultException<T> 传递消息和适当的HTTP状态。

    这个问题是附加属性的 后呼 从未打过电话。

    它的长与短分别是:

    • 有返回信息的方法吗 以及设置HTTP状态 是否引发异常?
    • 如果我真的要扔 WebFaultException<t> 是否仍可以通过返回的消息调用我的属性?
    1 回复  |  直到 14 年前
        1
  •  3
  •   Community Navdeep Singh    7 年前

    好吧,我找了很多遍了 this question this answer

    总结一下:调用一个小方法,比如:

    public void SetResponseHttpStatus(HttpStatusCode statusCode)
    {
        var context = WebOperationContext.Current;
        context.OutgoingResponse.StatusCode = statusCode;
    }
    

    …在每次返回之前,如果不是一个普通的200响应,应该这样做。