7得票3回答
释放托管资源时出现堆栈溢出错误

我有一个简单的Unity IoC容器包装器(临时使用服务定位器[反]模式将DI引入遗留代码库),由于Unity中的IUnityContainer实现了IDisposable,因此我也想通过包装器公开它。 这个包装器很简单: public class IoCContainer : IIoCC...

7得票4回答
注入一个包含所有已注册接口实现的可枚举对象

给定以下接口: public interface IMyProcessor { void Process(); } 我希望能够注册多个实现,并且让我的DI容器将它们注入到类中的可枚举对象中,就像这样: public class MyProcessorLibrary { ...

10得票4回答
不使用任何DI库进行依赖注入

我对仓库和依赖注入还不熟悉,正在尝试在我的MVC 5项目中实现。 我实现了构造函数注入,在我的控制器中有一个像这样的构造函数:IBook _ibook; public Test(IBook ibook) { _ibook = ibook; } 没有任何依赖注入库,它会抛出错误:没有空构...

35得票1回答
Unity:在运行时将注册类型替换为另一种类型

我们有一个场景,用户可以在运行时选择不同的硬件。在后台,我们有几个实现了IHardware接口的不同硬件类。我们希望使用Unity为目前选择的硬件实例注册此接口。但是,当用户选择另一种硬件时,这将要求我们在运行时替换此注册。 以下示例可能会使这更清晰:public interface IHa...

7得票1回答
如何调试Unity容器的“解析”?

我正在使用MS Unity容器进行依赖注入,但是“Resolve”返回了意外的结果。 有没有一种方法可以调试此解析?如果我能查看容器中注册的类型/实例,那就太好了,但是在使用QuickWatch时我看不到存储位置。如果我能让容器输出一些调试跟踪信息,那也会很有用。 有什么建议吗?

12得票4回答
Unity容器解析

我刚开始学习Unity容器,我的注册代码如下: static void UnityRegister() { _container = new UnityContainer(); _container.RegisterType<IBook, Book>();...

35得票4回答
MVVM,Unity,Prism,MEF,Caliburn - 我应该使用什么?(疑问句)

求助 - 我迷失了方向! 我正在编写一个小型桌面应用程序,其中包含一些控件和屏幕。这个应用程序应该后续与一个小型网站集成,该网站也有一些屏幕。想法是让用户编辑视频和选择图像,然后与她的朋友分享结果。 桌面应用程序使用C# WPF,网站使用ASP.Net MVC。 我读到说,通过使用MVV...

14得票3回答
UnityContainer.Resolve还是ServiceLocator.GetInstance?

这可能是个愚蠢的问题,因为在我的代码中一切都正常,但是我用 Unity 容器 _ambientContainer 这种方式注册了一个单例: _ambientContainer.RegisterType<Application.StateContext>(new ContainerC...

12得票1回答
避免在不适用IOC的传统应用程序中使用服务定位器反模式

我经常看到IOC中的服务定位器是一种反模式。 去年我们在工作中引入了IOC(具体是Ninject)到我们的应用程序中。这个应用程序是遗留的,非常庞大而且分散。有很多方式可以创建一个类或者一系列的类。一些是由Web框架(自定义的),一些是由nHibernate创建的。许多类只是散布在奇怪的地方...

8得票1回答
IoC - Unity,RegisterInstance 如何工作,我的理解正确吗?

我正在实现Ioc,有几件事我想确保正确性。 如果我使用RegisterInstance,解析时它是否总是返回单例对象? BootStrapper将在Global.asax或某个初始加载的地方加载,这意味着所有实例都将是单例吗? 但我想知道如何: 1. 每次解析创建一个单独的实例,Per...