我需要访问从WCF服务返回给客户端的HTTP响应头。访问HTTPContext很容易(通过HTTPContext . current . response),但是当StatusCode已经设置(例如,如果状态为500)时,最后执行的事件/扩展/行为是什么?
编辑:消息检查器似乎不是一个很好的解决方案,因为在他们运行的时候,状态码还没有设置。(至少在我的试验中是这样的)
您可以访问WebOperationContext.Current.IncomingRequest
上的所有标头,如下所示:
IncomingWebRequestContext request = WebOperationContext.Current.IncomingRequest;
WebHeaderCollection headers = request.Headers;
Console.WriteLine("-------------------------------------------------------");
foreach (string headerName in headers.AllKeys)
{
Console.WriteLine(headerName + ": " + headers[headerName]);
}
Console.WriteLine("-------------------------------------------------------");
看到
-
控制头消息的最简单方法是使用消息协议
-
使用消息检查器在服务端收到消息后立即监视消息
-
在极端情况下,如果您对任何其他标准路由都不满意,您可以选择POX (Plain Old XML)类型的操作,在这种情况下,您将处理原始XML消息。