3
我有一个程序集的多个版本,每个版本都实现了一个名为RequestHandler(带有IRequestHandler)的类型。如何从同一程序集的多个版本配置Unity?
我想配置统一每个可用的版本使用像'v1.1'或'v1.2'别名。
在运行时,请求由正确版本处理,使用别名来创建正确版本的程序集实例。
这需要配置驱动。我不知道如何配置Unity来实现这个目标?有任何想法吗?
我有一个程序集的多个版本,每个版本都实现了一个名为RequestHandler(带有IRequestHandler)的类型。如何从同一程序集的多个版本配置Unity?
我想配置统一每个可用的版本使用像'v1.1'或'v1.2'别名。
在运行时,请求由正确版本处理,使用别名来创建正确版本的程序集实例。
这需要配置驱动。我不知道如何配置Unity来实现这个目标?有任何想法吗?
这很容易,如果配置与配置文件进行:
<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; }
}