1

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

我当前的绑定由 WebMessageEncoder 和自定义 TransportBindingElement 组成,后者引用了自定义 ChannelListener,该 ChannelListener 使用实现 IReplyChannel 接口的自定义通道。ServiceModel 调用“receiveRequest”方法,该方法随后应返回一个 RequestContext。

但是,RequestContext 类只包含一个 RequestMessage 属性,我应该将其放入 Message 对象中。就这一事实而言,我不确定将在 WebGet / WebInvoke 属性中的 UriTemplates 上匹配所需的所有 HTTP 标头放在哪里。

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

问候

4

1 回答 1

1

根据我的记忆,WebHttp 调度程序着眼于两件事:

  • HttpRequestMessageProperty,您应该创建它并将其存储在传输通道生成的请求消息的 Properties 集合中。
  • 与请求关联的 URL,您要确保在将消息传递到通道堆栈之前填写传输通道(这应该保存在 msg.Headers.To 中)。
于 2009-08-06T12:36:51.323 回答