我正在用C#编写ASP.net Dashboard应用程序。应用程序将收集警报统计信息并通过Ajax(jQuery)在仪表板上显示它们。
应用程序可以跨域收集警报统计信息,因此我们选择按如下方式设置:
独立的Windows服务运行时与Broker(一个收集统计信息的程序)保持连接。在Windows服务中,我们托管了一个WCF服务。 Windows服务将加载将统计信息字符串传递到WCFExternalService。
然后,我们在IIS中托管并在客户端应用程序内引用的WCF服务(此服务将充当中继/代理服务)。
有人可以指点我一篇文章或解释如何设置绑定/端点以将代理服务连接到外部WCF服务吗?
提前感谢您提供任何帮助!
拉里
答案 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字符串。
关于第一点的进一步说明:
This MSDN文章介绍了如何设置WCF客户端(由代理WCF使用)。
接下来,您可以创建代理WCF服务以使用WCF客户端。
您网站的Web.config(包含代理)需要WCF客户端和WCF代理的部分。
托管在WCF中无关紧要,因此您的“真实”服务可以根据您的要求和环境支持任何绑定(Http,Tcp)