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