是否可以使用WCF REST Starter工具包中的RequestInterceptor实现重定向器/反向代理

时间:2011-05-19 05:43:10

标签: wcf rest wcf-rest-starter-kit

我正在尝试使用WCF REST入门工具包中的RequestInterceptor实现反向代理。我能够设置基本标头属性并配置调用。我陷入了以下几个方面:

  1. 返回适当的响应 - 我的webservice可以返回text + xml,image或json。我无法发送适当的响应类型。 Message.CreateMessage重载都是SOAP对齐的,即它们只接受Xml构造,因此我无法发送JSON或图像流。我需要将它们转换为XElements - 我肯定在这里做错了。

  2. 我还希望反向代理在存在cookie,gzip / deflate和SSL的情况下运行良好。

  3. 根据上述要求,您认为使用REST入门套件执行此操作是否有意义? RequestInceptor相当容易插入,但其余的代码让我疯狂。

1 个答案:

答案 0 :(得分:0)

JSON和XML的任意二进制内容之间存在映射,用于WCF的消息(请参阅http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx处的一些示例),因此您可以使用Message.CreateMessage创建非XML消息

话虽如此,到目前为止在WCF中做到这一点真的不直观。 WCF Web API中的新库 - http://wcf.codeplex.com - 提供了一种非常好的方法来拦截/重定向/绕过WCF管道,特别是HTTP消息。此外,它以本机方式支持多种格式(即,无需对XML进行映射)。