【问题标题】:Create custom channefactory for dynamically calling workflows为动态调用工作流创建自定义通道
【发布时间】:2011-06-23 13:30:16
【问题描述】:

我需要创建一个自定义通道工厂来调用托管在 IIS 中的 WCF Wrokflow 服务。只有在运行时,我才能知道应该调用哪个工作流以及需要调用哪个方法。 任何人都可以提供相同的示例吗?

【问题讨论】:

    标签: wcf dynamic workflow-foundation-4 channelfactory


    【解决方案1】:

    您在客户处拥有哪些有关工作流服务的信息?如果你有合约(服务合约,比如 svcutil / add service reference 当指向 xamlx 服务时生成的合约)和端点地址,那么你可以直接使用通道工厂。例如,默认的“WCF 工作流服务应用程序”在 xamlx 地址声明一个端点,带有 basicHttpBinding。

    string address = "http://localhost:27962/Service1.xamlx";
    Binding binding = new BasicHttpBinding();
    ChannelFactory<IService> factory = new ChannelFactory<IService>(binding, new EndpointAddress(address);
    IService proxy = factory.CreateChannel();
    var result = proxy.GetData(new GetDataRequest { @int = 1234 });
    

    如果你没有合约/绑定,你只有xamlx地址,并且你想在运行时动态创建代理,你可以使用Vipul's dynamic proxy之类的东西在运行时创建代理,然后调用使用动态代理方法的服务操作。

    【讨论】:

      【解决方案2】:

      Vipuls 动态代理 (http://blogs.msdn.com/b/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx) 完美运行.. 谢谢大佬。。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-28
        • 1970-01-01
        • 2016-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        相关资源
        最近更新 更多