2010-09-05 61 views
3

我有一个程序集的多个版本,每个版本都实现了一个名为RequestHandler(带有IRequestHandler)的类型。如何从同一程序集的多个版本配置Unity?

我想配置统一每个可用的版本使用像'v1.1'或'v1.2'别名。

在运行时,请求由正确版本处理,使用别名来创建正确版本的程序集实例。

这需要配置驱动。我不知道如何配置Unity来实现这个目标?有任何想法吗?

回答

4

这很容易,如果配置与配置文件进行:

<unity> 
<containers> 
    <container> 
    <type type="IMyInterface" mapTo="myNamespace.MyHandler, MyAssembly, Version=1.1.0.0, Culture=neutral" name="v1.1" /> 
    <type type="IMyInterface" mapTo="myNamespace.MyHandler, MyAssembly, Version=1.2.0.0, Culture=neutral" name="v1.2" /> 
    </container 
</containers> 
</unity> 

而且,在客户端:

public class MyClient { 
    [Dependency("v1.1")] 
    public IMyInterface MyVal { get; set; } 

} 
相关问题