代码之家  ›  专栏  ›  技术社区  ›  khebbie

WCF动态编程

  •  4
  • khebbie  · 技术社区  · 16 年前

    有没有人有过使用WCF进行动态编程的经验?通过动态编程,我的意思是WSDL的运行时消耗。 我找到了一个博客条目/工具: http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx

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

    3 回复  |  直到 16 年前
        1
  •  2
  •   Cuyler    16 年前

    这是WCF的一个奇怪的方面。您可以动态创建一个ChannelFactory,但只能使用已知的类型。

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

    创建一个包含单个方法的接口“ifoo”,比如 Execute() . 在ESB中,动态创建 ChannelFactory<IFoo> 用于要连接到的终结点。设置连接属性(URI等)。

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

        2
  •  2
  •   Brian Lyttle    16 年前

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

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

    可以使用.NET codedom生成要执行的代码,并使用WSDL描述的Web服务。可以使用标准的.NET XML类解析WSDL。

        3
  •  0
  •   khebbie    16 年前

    实际上,我正在考虑创建一个小型ESB,在这个ESB中,用户可以在运行时添加一个要路由到的WebService。 所以我不能静态添加wsdls