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

}