2010-04-12 17 views
8

Prism framework'u Unity yerine Ninject ile kullanan var mı? Unity'nin henüz desteklemediği bazı işlevlere ihtiyacım var ve IoC konteynerini Ninject'e değiştirmeye karar verdim. Bunun yerine biraz değiştiriyorum ..Ninject ile Prizmanın Kullanılması

Prism'den kullanmam gerekenler EventAggregator ve RegionManager'dır. Ben aslında yerine geçer, ama bu Prizma eski bir sürümü için yazılmıştır ve sınıfların birçoğu değişmiş gibi görünüyor this sample gördük Bu yüzden yeniden yazmaya çalışıyorum bazı çabaları yaptıktan sonra karıştı tüm sona erdi.

Yani - sorum şu temelde: Unity'yi Ninject ile nasıl değiştirebilirim?

Gerekli adımlar nelerdir? Başlangıçta bir Ninject kabı oluşturan ve yapılandıran basit bir bootstrapper yazabileceğimi ve bunu diğer tüm nesneleri çözmek için kullandığını farz ettim. IEventAggregator'ı EventAggregator'a ve IRegionManager'a RegionManager'a bağlarım ancak Shell'i oluştururken başarısız olur ve RegionManager.CreateRegion çağrılır. Yol boyunca

IServiceLocator locator = ServiceLocator.Current; 

Herhangi fikirler ve ipuçları: Sorun bir yere bir ServiceLocator ayarlamak gerekiyor gibi bu hat üzerinde başarısız gibi görünüyor olmasıdır? Prism Ninject için

+1

Merak etme, Unity'nin sahip olmadığı hangi işlevselliğe ihtiyacınız var? –

cevap

3

Michael Hart implemented the necessary bits"

İhtiyacınız sadece kendi uygulamak 'NinjectBoostrapper' ve Ninject. Bağlantıda kodu sizin için bu ayak işlerini hepsini yapıyor kullanır IServiceLocator bir uygulama.

+0

Promissing görünüyor! Referans için çok teşekkür ederim. Şimdi bir göz atacağım .. – stiank81

+0

@Anderson link bozuk :( – dFlat

+0

Bunu buldum: http://sweux.com/blogs/pombeiro/?s=ninject – dFlat

5

sadece Ninject

Sitesi için birlik veya MEF takas istediğiniz kişilerin ihtiyacını karşılamalıdır Ninject 2.0 ve Prism 4.0 kullanılan bir github proje oluşturduktan buradadır: Prism Ninject Extension