Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to declare the Unity InjectionFactory in XML configuration

I'm in the process of moving our Unity configuration to the web.config file. I'm stuck on how to migrate the following code config to the xml format:

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

Here are the XML declartion:

<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>
like image 273
Fixer Avatar asked Aug 22 '11 04:08

Fixer


1 Answers

InjectionFactory is the one thing that can't be represented in XML out of the box. In order for it to completely work, you'd have to write a C# parser that could work on the XML file, which was way more than I wanted to bite off at the time.

However, I do have a sample on bitbucket which shows a way to get a limited version of factory creation working via XML. Might give you some ideas.

like image 113
Chris Tavares Avatar answered Sep 28 '22 05:09

Chris Tavares