如何设置 WCF 代理中继服务

本文关键字:代理 服务 WCF 何设置 设置 | 更新日期: 2023-09-27 18:35:26

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

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

独立的 Windows 服务通过与代理(收集统计信息的程序)的持续连接运行。在 Windows 服务中,我们托管了一个 WCF 服务。Windows 服务会将统计信息字符串加载到 WCFExternalService 中。

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

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

提前感谢您对此的任何帮助!

拉里

如何设置 WCF 代理中继服务

看起来你已经完成了大部分结构。我在下面输入:

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

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

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

关于第一点的进一步解释:

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

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

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

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