我有一个Mvc系统,可以与NHibernate和Autofac一起正常工作...我这样做是为了管理NHsession:publicstaticvoidInit(Assemblyassembly){varbuilder=newContainerBuilder();builder.RegisterControllers(assembly);builder.Register(x=>NHibernateInitializer.BuildSessionFactory()).SingleInstance();builder.Register(x=>x.Resolve().OpenSession()
我需要帮助。我使用Autofac容器创建Windows服务。我使用MEF集成服务为我的服务创建多个替代组件。例如:模块1[Export(typeof(IClass1))]publicclassClass1:IClass1{publicvoidShow(){Console.WriteLine("HallofromClass1");}}模块2[Export(typeof(IClass2))]publicclassClass2:IClass2{publicvoidShow(){Console.WriteLine("HallofromClass2");}}模块集成的基本类-示例classPro
我目前正在学习如何使用Autofac,而且我一直坚持处理IDisposable对象确定性。在我陈述我的问题之前,让我先介绍一下情况。起始位置:假设我的对象模型是通过以下接口(interface)定义的:interfaceIApple:IDisposable{voidConsume();}interfaceIHorse{voidEat(IAppleapple);//issupposedtocallapple.Consume()}interfaceIHorseKeeper{voidFeedHorse();//issupposedtocallhorse.Eat(apple)//where'h
我最近成为Autofac的OwnedInstances功能的重度用户。例如,我用它来提供一个工厂来为我的数据库创建一个工作单元,这意味着我依赖于UnitOfWork工厂的类正在请求以下类型的对象:Func>这非常有用——非常适合keepingIDisposableoutofmyinterfaces--但它是有代价的:因为Owned是Autofac程序集的一部分,我必须在我的每个知道Owned的项目中引用Autofac,并在每个代码中加入“usingAutofac.Features.OwnedInstances”文件。Func具有构建到.NET框架中的巨大好处,因此我毫不怀疑将Func用
我想知道在自身内部注册容器是否有任何副作用IContainercontainer;ContainerBuilderbuilder=newContainerBuilder();container=builder.Build();builder.RegisterInstance(container).As();像这样使用它builder.RegisterType().As().WithParameter(newResolvedParameter((pi,ctx)=>pi.ParameterType==typeof(IContainer)&&pi.Name=="Container",(pi,
我对Autofac相当熟悉,我非常喜欢Autofac的一项功能是模块注册。有谁知道我如何使用Unity做到这一点?我很难找到在Google中使用哪些术语来得出统一等价物(如果有的话)。publicclassGlobal:HttpApplication,IContainerProviderAccessor{privatestaticIContainerProvider_containerProvider;protectedvoidApplication_Start(objectsender,EventArgse){varbuilder=newContainerBuilder();buil
我想调用awaitableasync注册过程中的方法是这样的://buildervariablecontainsAutofacContainerBuilderbuilder.Register((async(context,parameters)=>//needasynchere{varsomeClass=newSomeClass(context.Resolve());awaitsomeClass.SomeAsyncInitMethod();//needtoawaitresultreturnsomeClass;})).As().SingleInstance();SomeClass工具IS
我正在尝试在派生self的BaseController类的任何Controller上自动设置一个属性。这是我的Application_Start方法中的代码。UnitOfWork属性在我尝试访问它时始终为null。varbuilder=newContainerBuilder();builder.RegisterControllers(typeof(MvcApplication).Assembly);builder.RegisterType().As();builder.RegisterType().As();builder.RegisterType().OnActivated(c=>c
我想注册一个组件,以根据它可能解析的类使用参数进行解析。(这听起来有点令人困惑,所以我将展示一个示例)。这是一个使用记录器的对象:classMyObject:IMyObject{publicILoggerLogger;publicMyObject(ILoggerlogger){Logger=logger;}}现在传入的记录器可能因类而异。所以我对如何在下面做到这一点有一个相当修补的想法:classMyLogger:ILogger{publicstringName{get;protectedset;}publicstaticILoggerGetLogger(stringclassName
我有一个Autofac容器,我希望能够检索所有已注册的服务类型(不是实现类型,而是它们注册的类型)。如何从IComponentContext中获取此信息? 最佳答案 你可以使用这个:varservices=context.ComponentRegistry.Registrations.SelectMany(x=>x.Services).OfType().Select(x=>x.ServiceType); 关于c#-如何在Autofac中获取所有注册的服务类型,我们在StackOverfl