2015-08-14 12 views
7

Capisco che il Glass Mapper v4 ora può essere utilizzato in combinazione con qualsiasi contenitore IoC. Ma sto lottando per trovare un esempio di codice su come ottenere ciò.Glass Mapper + Unity

Voglio essere componenti in vetro di registro in grado e li iniettare nel mio controller utilizzando Unity, per esempio:

public class SearchController : Controller 
{ 
    private readonly ISitecoreContext _context; 

    //Inject via Unity 
    public SearchController(Glass.Mapper.Sc.ISitecoreContext context) 
    { 
     _context = context; 
    } 
} 

Qualcuno può fornire un esempio di codice di Come arrivare in vetro collegato con l'Unità?

risposta

2

In realtà non è necessario un contenitore IoC per configurare l'impostazione di mappatura di base per Glass.

Configurare invece una registrazione per ISitecoreContext e una factory di controller MVC personalizzata che sostituisce i metodi richiesti ReleaseController e GetControllerInstance.

La mia unità è un po 'arrugginito, ma qualcosa di simile (si potrebbe trovare qualcosa di più semplice):

IUnityContainer container = new UnityContainer() 
container.RegisterType<ISitecoreContext, SitecoreContext>(new HierarchicalLifetimeManager(), new InjectionFactory(x => new SitecoreContext())); 
+0

Sì in realtà ho capito che questo la scorsa settimana - super semplice. Per qualche motivo mi aspettavo che fosse più difficile collegare un IoC. –