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; }
}