1

我需要访问要从 WCF 服务返回给客户端的 HTTP 响应标头。访问 HTTPContext 很容易(通过 HttpContext.Current.Response),但是当 StatusCode 已经设置时(例如,如果状态为 500),最后执行的事件/扩展/行为是什么?

编辑:消息检查器在这里似乎不是一个好的解决方案,因为在它们运行时,状态代码尚未设置。(至少在我的审判中是这样的)

4

2 回答 2

1

您可以访问 上的所有标题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("-------------------------------------------------------");

这里

于 2015-06-23T14:20:43.763 回答
0
  1. 控制标头的最简单方法是使用消息合约。

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

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

于 2011-07-25T18:46:31.810 回答