【发布时间】:2011-02-06 22:52:53
【问题描述】:
有没有人使用 Prism framework 和 Ninject 而不是 Unity?我需要一些 Unity 尚不支持的功能,我决定将 IoC 容器切换到 Ninject。不过,我在替换方面有点挣扎..
我需要从 Prism 使用 EventAggregator 和 RegionManager。我已经看到 this sample 确实进行了替换,但这是为旧版本的 Prism 编写的,并且其中一些类似乎已经更改等。所以在尝试重写它之后,我最终感到困惑.
所以 - 我的问题基本上是:如何用 Ninject 替换 Unity?
有哪些必要的步骤?最初我假设我可以编写一个简单的引导程序来创建和配置一个 Ninject 容器并使用它来解析所有其他对象。我将 IEventAggregator 绑定到 EventAggregator 并将 IRegionManager 绑定到 RegionManager,但是在创建 Shell 并调用 RegionManager.CreateRegion 时它失败了。问题是我似乎需要在某处设置一个 ServiceLocator ,因为它在这条线上失败了:
IServiceLocator locator = ServiceLocator.Current;
在此过程中有什么想法和提示吗?
【问题讨论】:
-
出于好奇,您需要哪些 Unity 没有的功能?
标签: c# .net prism ioc-container ninject