autofac

    0熱度

    1回答

    使用AutoFac 2.3.2,我試圖做到以下幾點: var builder = new Autofac.ContainerBuilder(); builder.RegisterType<SomeDependency>().As<IDependency>(); RegisterType是不存在的。用intellisense沒有看到它,編譯器不知道它在那裏。查看幫助顯示RegisterType

    2熱度

    2回答

    在容器中註冊類似乎有兩種選擇 - 明確地(RegisterType().As)或自動佈線(RegisterAssemblyTypes())。兩者似乎都有相當大的缺點。 明確註冊意味着我得到一個神類,它知道我模塊中的每種類型,並且很快就會變得龐大而笨拙。 通過自動佈線進行註冊可能會導致錯誤配置的依賴項,例如接口的多個實現(最後註冊成功)或註冊過多的永遠不會解析的類型,或者必須明確覆蓋註冊。終身關切(

    13熱度

    4回答

    我有一個從AuthorizationAttribute派生的自定義屬性類,它對控制器操作執行自定義安全性。 OnAuthorizationCore方法依賴於各種其他組件(例如DAL),以判斷用戶是否可以調用某個操作。 我正在使用Autofac進行依賴注入。 ExtensibleActionInvoker聲稱能夠在動作過濾器上執行屬性注入。在運行時設置一個屬性的屬性(這看起來是一個壞主意)可以在一個

    3熱度

    1回答

    我正在寫一個ASP.NET MVC網站,使用autofac進行依賴注入,Mindscape的Lightspeed作爲ORM。有一個UserRepository類,它依賴於一個燈光的UnitOfWork,並且它爲Logon控制器提供服務。 問題:前UserRepository被使用完的的UnitOfWork得到處理。 public class UserRepository : IUserReposi

    2熱度

    1回答

    是否可以在不註冊容器的情況下解析autofac中的服務? 到目前爲止,我想出了這樣的事情: public object ResolveUnknownService(IContainer container, Type serviceType) { ILifetimeScope lifetimeScope = container.BeginLifetimeScope(b =>

    4熱度

    1回答

    我最近將Autofac添加到一個大型的現有應用程序來管理DI。 在這個過程中,我用被注入到從屬構造函數的容器管理的單個實例替換了單例。然而,在某些情況下,必須打破循環依賴。我發現最簡單的方法是利用OnActivated事件。我們打算修改這些類型以消除循環依賴,但現在改變它們的風險太大了。 要參與循環依賴的類型,I添加了一個名爲方法ResolveCircularDependencies(這使得它明顯

    0熱度

    1回答

    autofac是否提供了一種獲取組件的所有「活動」實例的方法? 所以,下面的工作: public class ViewManager { public ViewManager(Func<IEnumerable<MyView>> viewProvider, Func<string, MyView> viewFactory) { ViewProvider = viewProvi

    1熱度

    2回答

    這更像是一個概念性問題。何時使用模型綁定(在ASP.NET MVC框架中)以及何時使用IoC注入對象(可以說Autofac在這裏)? 一種具體的情況是一樣可以說,我有以下動作方法 public ActionResult EditProfile(string UserId) { // get user object from repository using the the UserId

    5熱度

    2回答

    我正在尋找將我們的一些複雜創建代碼轉換爲使用IoC容器Autofac,並且因爲我非常信任TDD,所以我正在爲模塊配置編寫單元測試。 大部分功能非常容易測試,例如 var obj = container.Resolve<IThing>(); Assert.IsInstanceOfType(obj, typeof(ThingImplementer)); 但是我們有一些,我們有相同的接口和不同實施

    0熱度

    1回答

    對不起,我的小問題打擾社區,但我只是卡住了! 在我們進入細節之前,這裏是我的服務模塊的容器設置! public class ServiceModule : Module { protected override void Load(ContainerBuilder builder) { base.Load(builder); buil