我正在尝试编写WCF服务作为Silverlight控件的代理,以便对Internet REST Web服务执行跨域请求。我只想向我的服务发出请求,它会格式化并将请求转发给第三方Web服务(替换主机名和URL的一部分),然后只需将响应返回给调用者。
我的方法是否正确?第三方服务器没有crossdomain.xml文件,否则允许我的调用。
我的问题是,鉴于我的WCF服务方法,我想用我从第三方服务检索到的响应主体重写我的服务中的响应主体,如果可能的话,重写响应头也是我的得到了那项服务。这样,它可以最大限度地减少我的Web服务必须对响应进行的转换。我有可能做这个改写吗?如果是这样,怎么样?如果没有,实施这个的最佳做法是什么?
我的界面现在非常原始,就像这样,仅仅因为我不需要任何东西。第三方服务的响应是JSON响应。
[ServiceContract]
interface IMyProxy
{
[OperationContract]
[WebGet(UriTemplate = "relay/{requestOptions}")]
string ForwardRequest(string requestOptions);
}
P.S。我不需要它使用HTTPS,因此无需担心中间人问题。
答案 0 :(得分:0)
我认为,我相信(WebOperationContext)。 我仍然有一个问题,如果我在我的回复中复制第三部分服务的“传输编码”,我从框架的内容(某些是“NotFound”)得到一个模糊的例外...但是这是一个不同的故事。