【问题标题】:Dynamic programming with WCF使用 WCF 进行动态编程
【发布时间】:2008-09-03 09:24:35
【问题描述】:

有人对使用 WCF 进行动态编程有过任何经验吗?我所说的动态编程是指 WSDL 的运行时消耗。 我找到了一篇博客文章/工具: http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx

这里有人找到了很好的工具吗?

【问题讨论】:

    标签: .net wcf


    【解决方案1】:

    这是 WCF 比较奇怪的方面之一。您可以动态创建通道工厂,但只能使用已知类型。

    我想出了一个不完美但确实有效的解决方案:

    创建一个接口“IFoo”,其中包含一个方法,比如Execute()。在您的 ESB 中,为您要连接的端点动态创建一个 ChannelFactory<IFoo>。设置连接属性(URI 等)。

    现在,您可以将服务动态附加到您的 ESB,前提是它们始终实现“IFoo”接口。

    【讨论】:

      【解决方案2】:

      我很久以前就使用 SOAP Web 服务完成了这项工作。 GotDotNet 上有一个工具,我认为它已成为 Web Services Studio Express,它具有检查/解析 WSDL 文件并允许您调用它的代码。

      我认为假设是 WSDL 在客户端创建时是已知的,并且您不需要在运行时连接。如果您在运行时检查 WSDL,您仍然需要某种逻辑来决定如何生成代理。为什么不能在运行前使用 WSDL? Web 服务应该是相当静态的,其界面一旦发布就不会改变。

      您可以使用 .NET CodeDom 生成代码来执行和使用 WSDL 描述的 Web 服务。可以使用标准的 .NET XML 类解析 WSDL。

      【讨论】:

      • 由于 Web 服务被用于与第 3 方数据馈送进行集成,因此客户希望能够在无需等待软件的下一个版本的情况下进行设置。例如,Excel 可以从 Web 服务中导入数据,而 Microsoft 在编写 Excel 时并不知道 WSDL!
      【解决方案3】:

      我实际上正在考虑制作一个小型 ESB,用户可以在其中添加 Web 服务以在运行时路由到。 所以我不能静态添加 WSDL

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多