7

Sono in procinto di spostare la nostra configurazione Unity nel file web.config. Sono bloccato su come migrare il seguente codice di configurazione al formato xml:Come dichiarare Unity InjectionFactory nella configurazione XML

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

Ecco i declartion 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> 

risposta

6

InjectionFactory è l'unica cosa che non può essere rappresentato in XML fuori dalla scatola. Affinché funzioni completamente, dovresti scrivere un parser C# che possa funzionare sul file XML, che era molto più di quanto volessi mordere al momento.

Tuttavia, ho a sample on bitbucket che mostra un modo per ottenere una versione limitata della creazione di fabbrica che funziona tramite XML. Potresti darti qualche idea.

+0

Buono a sapersi, grazie - Molto più lavoro di quanto mi aspettassi, suppongo che non sia pericoloso lasciare questa unica eccezione da rappresentare come codice. – Fixer

Problemi correlati