gpt4 book ai didi

c# - 从 IParameterInspector AfterCall 可以处理的 WCF Rest 服务返回带有消息的 HttpStatus 代码

转载 作者:行者123 更新时间:2023-11-30 22:43:30 26 4
gpt4 key购买 nike

那么,我在几个服务中得到了一些方法,我用自定义属性对其进行了修饰。

该属性使用 ApplyDispatchBehavior来自 IOperationBehavior附加到方法和 BeforeCallAfterCall来自 IParameterInspector 的方法在服务方法调用前后做一些处理。

一切都很好,很好...当服务方法需要与消息一起返回 http 状态时,问题就来了。我能找到的唯一方法是抛出 WebFaultException<T> 的方法。传递我们的消息和适当的 http 状态。

问题在于附加属性的 AfterCall永远不会被调用。

它的长短是:

  • 有没有办法回复消息并在没有的情况下设置http状态抛出异常?
  • 如果我必须抛出 WebFaultException<T>有没有办法仍然可以使用返回的消息调用我的属性?

最佳答案

好的,经过大量搜索,我找到了 this questionthis answer

总结一下:调用一个像这样的小方法:

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

...在每个不是普通 200 响应的返回之前应该这样做。

关于c# - 从 IParameterInspector AfterCall 可以处理的 WCF Rest 服务返回带有消息的 HttpStatus 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com