2010-09-05 34 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; } 

} 
相關問題