unity-container

    0热度

    2回答

    我有一个CustomersModule.cs有以下初始化()方法: public void Initialize() { container.RegisterType<ICustomersRepository, CustomersRepository>(new ContainerControlledLifetimeManager()); CustomersPresenter

    0热度

    1回答

    假设我有两种类型,TypeA和TypeB,我想在Unity中注册。 TypeB依赖于TypeA,所以我想通过构造器注入将TypeA注入到B类型中。所以我想写点东西像下面并有统一足够聪明,级联的分辨率对我来说: _container.RegisterType<ITypeA, TypeA>(); _container.RegisterType<ITypeB, TypeB>(); 我怎么能告诉统一

    41热度

    7回答

    我终于在C#中围绕IoC和DI进行了包围,并且在一些边缘处挣扎着。我正在使用Unity容器,但我认为这个问题更广泛地适用。 使用IoC容器来分配实现IDisposable的实例会让我大吃一惊!你应该怎么知道你是否应该Dispose()?实例可能是为你创建的(因此你应该Dispose()它),或者它可能是一个实例,它的生命周期在其他地方被管理(因此你最好不要)。代码中没有任何内容告诉你,实际上这可能

    9热度

    4回答

    我的问题如下: 我有一个名为ApplicationController的基础控制器(ASP.Net MVC控制器),我希望我的所有控制器都从它继承。这个基础控制器有一个ILogger属性,标有[Dependency]属性。 (是的,我知道我应该使用构造函数注入,我只是好奇这个属性)。 我创建了容器,注册类型,更改了默认工厂,一切都很好。问题是当我尝试在派生控制器中使用我的Logger属性时,它没有

    4热度

    1回答

    我目前正在处理一个问题,我有很多iterfaces和它们的实现都是用unity创建的。这些类包含一些在常规基础上抛出异常的方法,我想创建一个围绕这些类的动态代理,这样我就可以捕获在方法中发生的所有异常,并将它们处理到别的地方。 因为我在玩Unity,所以不知道是否可以使用Unity Interception来完成这样的事情。 即创建TransparentProxyInterceptor并围绕这些方

    0热度

    1回答

    我有这个应用程序使用CAL。 所有的模块都来自一个特殊的类ModuleBase,它有一个抽象方法,比如说在每个模块中都实现了ApplySecurity。 好的我在自举程序中加载模块,在我打电话给bootstrapper.Run()后,我想访问所有加载的模块并调用这个ApplySecurity方法。 我尝试这样做: IModuleCatalog moduleCatalog = this.Contai

    1热度

    2回答

    我正尝试第一次使用Unity,我想我可能会咬掉比我可以咀嚼的更多。我们有一个n层应用程序,它有一个包含多个抽象类型的基本库,然后包含几个具有特定类型的业务情景特定库。例如:抽象类型主角有两个实现,一个在NewAutomotiveLibrary中称为NewAutomotiveLead,另一个在AutomotiveFinanceLibrary中称为AutomotiveFinanceLead。在基本库中

    4热度

    3回答

    我想从我选择的IoC容器库(Unity)中分离出所有代码。为此,我创建了一个公开Register()和Resolve()的IContainer接口。我创建了一个名为UnityContainerAdapter的类,它实现了IContainer,并封装了真正的容器。所以只有定义UnityContainerAdapter的程序集才知道Unity库。 我在隔离思想中有泄漏。 Unity搜索类型成员上的属性

    7热度

    3回答

    我创建了一个我已经键入的ISearchable接口,以便可以检索结果的T的IEnumerable。 我有很多实现ISearchable不同的域对象的服务... Container.RegisterType<ISearchable<Animal>, AnimalService>(); Container.RegisterType<ISearchable<Fish>, FishService>();

    0热度

    3回答

    我想使用与团结拦截,这里是我的代码: UnityContainer container = new UnityContainer(); container.AddNewExtension<Interception>(); container.RegisterType<T, T>(); container.Configure<Interception>().SetDefaultIntercep