1

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

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

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

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

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

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

拉里

4

1 回答 1

2

看起来您已经完成了大部分结构。我的输入如下:

  • 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)

于 2012-05-24T18:06:57.643 回答