如何设置WCF代理中继服务

时间:2012-05-24 17:01:58

标签: c# asp.net wcf iis

我正在用C#编写ASP.net Dashboard应用程序。应用程序将收集警报统计信息并通过Ajax(jQuery)在仪表板上显示它们。

应用程序可以跨域收集警报统计信息,因此我们选择按如下方式设置:

独立的Windows服务运行时与Broker(一个收集统计信息的程序)保持连接。在Windows服务中,我们托管了一个WCF服务。 Windows服务将加载将统计信息字符串传递到WCFExternalService。

然后,我们在IIS中托管并在客户端应用程序内引用的WCF服务(此服务将充当中继/代理服务)。

有人可以指点我一篇文章或解释如何设置绑定/端点以将代理服务连接到外部WCF服务吗?

提前感谢您提供任何帮助!

拉​​里

1 个答案:

答案 0 :(得分:2)

看起来你已经掌握了大部分结构。我的意见如下:

  • WCF代理(在UI层中)可以实现与其WCF服务对应(在Windows服务中)相同的服务合同。但是,WCF代理将是真正的WCF服务的“客户端”(您需要在Web.config中配置它)。

  • 现在,使用WebInvoke属性启用jCF / JavaScript使用WCF代理。 [WebInvoke("GET", WebMessageBodyStyle.WrappedRequest, ResponseFormat:=WebMessageFormat.Json)]

  • 使用jQuery $ .ajax语法来使用您的WCF代理。 url应该等同于'http://myHost/myVirtual/MyProxy.svc/MyMethod',data应该是等效于WCF代理参数的JSON字符串。

    < / LI>

关于第一点的进一步说明:

This MSDN文章介绍了如何设置WCF客户端(由代理WCF使用)。

接下来,您可以创建代理WCF服务以使用WCF客户端。

您网站的Web.config(包含代理)需要WCF客户端和WCF代理的部分。

托管在WCF中无关紧要,因此您的“真实”服务可以根据您的要求和环境支持任何绑定(Http,Tcp)