从WCF服务访问HTTP头



我需要访问从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("-------------------------------------------------------");

看到

  1. 控制头消息的最简单方法是使用消息协议

  2. 使用消息检查器在服务端收到消息后立即监视消息

  3. 在极端情况下,如果您对任何其他标准路由都不满意,您可以选择POX (Plain Old XML)类型的操作,在这种情况下,您将处理原始XML消息。

相关内容

  • 没有找到相关文章

最新更新