【问题标题】:How to setup WCF proxy relay service如何设置 WCF 代理中继服务
【发布时间】:2012-05-24 17:01:58
【问题描述】:

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

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

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

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

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

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

拉里

【问题讨论】:

    标签: c# asp.net wcf iis


    【解决方案1】:

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

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

    • 现在,使用 WebInvoke 属性启用 WCF 代理以供 jQuery / JavaScript 使用。 [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)

    【讨论】:

    • 感谢您的回复 Channs,关于您的第一个要点,您有如何执行此操作的示例吗?我不确定绑定端点的确切语法来设置它。此外,在这种情况下,“真实”WCF 服务是否需要使用 tcp 绑定?
    • 我还要在哪个 web.config 中添加设置?
    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    相关资源
    最近更新 更多