Prism mit Ninject verwenden

8

Benutzt jemand das Prism-Framework mit Ninject anstelle von Unity? Ich brauche einige Funktionen, die Unity noch nicht unterstützt, und ich habe beschlossen, den IoC-Container auf Ninject umzustellen. Ich habe ein bisschen Probleme mit dem Ersetzen, aber ..

Was ich von Prism aus verwenden muss, ist der EventAggregator und der RegionManager. Ich habe dieses Beispiel gesehen, das die Ersetzung tatsächlich durchführt. aber das ist für eine ältere Version von Prism geschrieben, und einige der Klassen scheinen sich geändert zu haben usw. Also war ich am Ende verwirrt, nachdem ich versucht hatte, etwas neu zu schreiben.

Also - meine Frage ist im Grunde: Wie kann ich Unity durch Ninject ersetzen?

Was sind die notwendigen Schritte? Anfangs dachte ich, ich könnte einen einfachen Bootstrapper schreiben, der einen Ninject-Container erstellt und konfiguriert und damit alle anderen Objekte auflöst. Ich verbinde IEventAggregator mit EventAggregator und IRegionManager mit RegionManager, aber es schlägt beim Erstellen der Shell fehl, und der RegionManager.CreateRegion wird aufgerufen. Das Problem ist, dass es so aussieht, als müsste ich irgendwo einen ServiceLocator setzen, der in dieser Zeile nicht funktioniert:

%Vor%

Irgendwelche Ideen und Tipps auf dem Weg?

    
stiank81 12.04.2010, 10:19
quelle

2 Antworten

3

Michael Hart implementiert die notwendigen Bits für Ninject in Prism

Sie müssen nur Ihren eigenen "NinjectBoostrapper" und eine Implementierung von IServiceLocator, die Ninject verwendet, implementieren. Der Code in der Verbindung macht all diese Arbeit für Sie.

    
Anderson Imes 12.04.2010, 17:46
quelle
5

Ich habe gerade ein Github-Projekt erstellt, das Ninject 2.0 und Prism 4.0 verwendet, das die Bedürfnisse von jedem erfüllen sollte, der die Einheit oder MEF für Ninject tauschen möchte

Die Seite befindet sich hier: Prism Ninject Extension

    
rhys 10.04.2011 10:02
quelle

Tags und Links