C# 统一和动态WCF代理

C# 统一和动态WCF代理,c#,wcf,dependency-injection,unity-container,soa,C#,Wcf,Dependency Injection,Unity Container,Soa,有没有办法让unity在运行时将代理动态注入WCF服务?具体来说,我希望能够在ServiceContract接口上执行解析调用,并让它在unity配置中查找服务URL,动态构建代理(使用codedom很容易),并让它缓存(singleton?)该代理以供将来调用。我已经找到了大量用于注入预引用的客户端代理的示例,以及大量的动态代理实现,但似乎没有什么可以弥补这一差距。。有人这样做吗?有没有我可以浏览的示例代码?也许这有助于缩小差距:-但不确定这些对象的生活方式。在最坏的情况下,您可以使用传统方法

有没有办法让unity在运行时将代理动态注入WCF服务?具体来说,我希望能够在ServiceContract接口上执行解析调用,并让它在unity配置中查找服务URL,动态构建代理(使用codedom很容易),并让它缓存(singleton?)该代理以供将来调用。我已经找到了大量用于注入预引用的客户端代理的示例,以及大量的动态代理实现,但似乎没有什么可以弥补这一差距。。有人这样做吗?有没有我可以浏览的示例代码?

也许这有助于缩小差距:-但不确定这些对象的生活方式。在最坏的情况下,您可以使用传统方法将其设置为singleton(类的静态属性)。如果我正确理解您的建议,我将构建一个静态类,动态生成/返回代理并以这种方式注册它?如果是这样的话,我如何确保独生子女的寿命?具体地说,假设我有WCF服务A,其中我使用它注入第二个服务B。这将如何转换为对服务A的两个调用?每个人会在第一次构建代理吗?有没有办法让它在多个呼叫/客户端之间“共享”到一个服务器?不确定。我认为这个过程仍然悬而未决,所以静态数据也会如此。但我只是在这里抛砖引玉。如果你说在容器中注册为Singleton是最好的方法,我会同意你的说法。虽然这听起来也不能解决您的问题-您的问题听起来像是一个单独的问题:如何使容器或单例跨请求生存。另外,两个服务位于不同的盒子/组件上,这对我来说似乎很奇怪。如果没有,注入服务本身而不是任何代理将更有意义。也许这将有助于弥合差距:-但不确定这些对象的生活方式。在最坏的情况下,您可以使用传统方法将其设置为singleton(类的静态属性)。如果我正确理解您的建议,我将构建一个静态类,动态生成/返回代理并以这种方式注册它?如果是这样的话,我如何确保独生子女的寿命?具体地说,假设我有WCF服务A,其中我使用它注入第二个服务B。这将如何转换为对服务A的两个调用?每个人会在第一次构建代理吗?有没有办法让它在多个呼叫/客户端之间“共享”到一个服务器?不确定。我认为这个过程仍然悬而未决,所以静态数据也会如此。但我只是在这里抛砖引玉。如果你说在容器中注册为Singleton是最好的方法,我会同意你的说法。虽然这听起来也不能解决您的问题-您的问题听起来像是一个单独的问题:如何使容器或单例跨请求生存。另外,两个服务位于不同的盒子/组件上,这对我来说似乎很奇怪。如果它们不是,那么注入服务本身而不是任何代理将更有意义。