如何在自定义WCF HTTP绑定中存储标头信息

时间:2009-08-06 11:35:18

标签: wcf http http-headers wcf-binding

基本上,我想从与侦听套接字不同的来源获取HTTP请求。但是,由于提供的绑定不支持此功能,我目前正在构建自己的绑定。

我当前的绑定包含WebMessageEncoder和自定义TransportBindingElement,后者引用自定义ChannelListener,后者使用实现IReplyChannel接口的自定义通道。 ServiceModel调用“receiveRequest”方法,该方法之后应返回RequestContext。

但是,RequestContext类只包含一个RequestMessage属性,我应该放在Message对象中。在这个事实上,我不确定在WebGet / WebInvoke属性中放置UriTemplates所需的所有HTTP头的位置。

你可以帮我解决这个问题吗? :)

问候

1 个答案:

答案 0 :(得分:1)

WebHttp调度员从我记忆中看到两件事:

  • HttpRequestMessageProperty,您应该在传输通道生成的请求消息的Properties集合中创建和存储它。
  • 与请求关联的URL,您希望确保在将消息传递到通道堆栈之前填充传输通道(这应该保存在msg.Headers.To中)。