Как объявить Unity InjectionFactory в конфигурации XML - PullRequest
7 голосов
/ 22 августа 2011

Я в процессе переноса нашей конфигурации Unity в файл web.config.Я застрял на том, как перенести следующую конфигурацию кода в формат xml:

var container = new UnityContainer();
container.RegisterType<IPrincipal>(new InjectionFactory(x=> HttpContext.Current.User));
return container;

Вот XML-сокращение:

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
    <alias alias="IRepository" type="Model.IRepository, Model" />        
    <alias alias="Repository" type="Data.Repository, Data" />
    <container>
      <register type="IRepository" mapTo="Repository" />      
    </container>    
</unity>

1 Ответ

6 голосов
/ 22 августа 2011

InjectionFactory - это единственное, что не может быть представлено в XML из коробки. Чтобы он полностью работал, вам нужно написать C # -парсер, который мог бы работать с XML-файлом, что было намного больше, чем я хотел откусить в то время.

Тем не менее, у меня есть пример для битбакета , который показывает способ получения ограниченной версии создания фабрики, работающей через XML. Может дать вам несколько идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...