那么,我在一些我用自定义属性修饰的服务中有很多方法。
该属性使用ApplyDispatchBehavior
中的IOperationBehavior
附加到方法以及来自BeforeCall
的{{1}}和AfterCall
方法,以便在之前和之后进行一些处理调用服务方法。
一切都很好,很好......
当服务方法需要返回http状态和消息时,问题就出现了。我能找到的唯一方法就是让方法在我们的消息中传递IParameterInspector
和相应的http状态。
这个问题是附加属性的WebFaultException<T>
永远不会被调用。
它的长短是:
AfterCall
,我的属性仍然可以通过返回的消息调用吗?答案 0 :(得分:3)
在经过大量搜索后,我找到了this question和this answer
总结一下:调用一个小方法,如:
public void SetResponseHttpStatus(HttpStatusCode statusCode)
{
var context = WebOperationContext.Current;
context.OutgoingResponse.StatusCode = statusCode;
}
...在每次返回之前,不应该是普通的200响应。