WCF以接口作为参数

时间:2011-06-18 02:41:43

标签: wcf ioc-container

请不要回复ServiceKnownType,因为我不知道具体的实现是什么。

该接口旨在从ioc容器创建。我创建了一个ServiceHostFactory,它添加了一个从容器中获取服务的IInstanceProvider。

我想知道的是能够将IInstanceProviders添加到客户端调用参数。

    var factory = new WebChannelFactory<ITestService>(new Uri("http://localhost:30646/TestService.svc"));
    var service = factory.CreateChannel();
    var result = service.TestMethod("sdf");

这就是我在客户端创建代理的方式。想象一下,我有一个返回类型为ICustomType。

有没有办法告诉上面的工厂使用某个实例提供程序尝试创建接口?这样,我可以为实例调用我的容器。

1 个答案:

答案 0 :(得分:1)

客户端没有IInstanceProvider模型 - 它用于在需要时创建服务实例。

您可以从ChannelFactory派生并在那里执行您的IoC解决方案

btw:你知道ServiceKnownType可以采用一种方法而不是一种可以在运行时返回有效已知类型的类型吗?