2015-08-14 6 views
7

Ich verstehe, dass die Glas Mapper v4 nun in Verbindung mit jedem IoC-Container verwendet werden kann. Aber ich kämpfe, um ein Codebeispiel zu finden, wie man das erreicht.Glass Mapper + Unity

Ich möchte in der Lage Register Glaskomponenten sein und sich in meinen Controller mit Unity injiziert, zum Beispiel:

public class SearchController : Controller 
{ 
    private readonly ISitecoreContext _context; 

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

Kann ein Codebeispiel für jemanden geben, wie Glas mit Unity verknüpft werden?

Antwort

2

Sie nicht wirklich einen IoC-Container benötigen mehr das grundlegende Mapping-Setup für Glas zu konfigurieren.

Konfigurieren Sie stattdessen eine Registrierung für ISitecoreContext und eine benutzerdefinierte MVC-Controller-Factory überschreiben die erforderlichen ReleaseController und GetControllerInstance Methoden.

Meine Einheit ein wenig rostig, aber so etwas wie dies (man könnte etwas einfacher finden):

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

Yep ich diese letzte Woche tatsächlich realisiert - super einfach. Aus irgendeinem Grunde erwarte ich es schwieriger zu sein, einen IoC zu anschließen. –