autofac相关内容
给定以下代码,如何在 autofac 中解析正确的 SomeInstance? 公共类 BaseClass {}公共类 SubClass1 : BaseClass {}公共类 SubClass2 : BaseClass {}公共接口 IGenericInterface其中 T : BaseClass {}公共类 SomeInstance1:IGenericInterface其中 T
..
这两个范围之间有什么区别? 我正在每一层(存储库、服务、MVC 应用程序)中构建 Module(s),但为了拥有 InstancePerHttpRequest,您需要 Autofac.Mvc 程序集. 我应该在存储库和服务层中使用哪个范围? 解决方案 InstancePerHttpRequest 和 InstancePerApiRequest 本质上做同样的事情——你为每个服务
..
在控制台应用程序中,我使用的是 Log4Net,而在 Main 方法中,我正在获取记录器对象.现在,我想通过让所有类从具有 ILog 属性的 BaseClass 继承并应该通过属性注入而不是构造函数注入设置来使这个日志对象在我的所有类中可用. 我正在使用 AutoFac IoC 容器,如何将我的日志对象注入我的每个类的 Log 属性? 实现这一目标的最佳/最简单的方法是什么? 有
..
从应用程序的类内部获取 Autofac 容器的建议方法是什么?Autofac 是否提供解析类上的 IContainer 属性,或者我是否需要在构建容器后将其全局存储? 解决方案 对于大多数用途,您将需要 IComponentContext 或 ILifetimeScope.这些由 Autofac 自动提供,因此您需要做的就是对其中一个建立(构造函数)依赖项,然后将注入当前实例. 两个
..
我对 IDisposable 实现中的 Dispose() 方法和 Autofac 用法有点困惑 假设我对我的对象有一定的深度: Controller 依赖于 IManager; Manager 依赖于 IRepository; Repository 依赖于 ISession; ISession 是 IDisposable. 这导致以下对象图: 新控制器(新经理(新的存储
..
过去,我通过让所有控制器继承自一个公共基本控制器,以全局方式将公共属性(例如当前用户)粘贴到 ViewData/ViewBag 上. 这使我可以在基本控制器上使用 IoC,而不仅仅是针对此类数据访问全局共享. 我想知道是否有其他方法可以将这种代码插入到 MVC 管道中? 解决方案 我没有尝试过,但你可以看看 注册您的视图,然后在激活过程中设置视图数据. 因为视图是即时注册
..
Autofac 自动为 Func 生成工厂;我什至可以传递参数. 公共类MyClass{public MyClass(Func a, Func b){var _a = a();var _b = b(1);}} 我可以用 Ninject 做同样的事情吗?如果没有,我可以应用什么解决方法? 谢谢. 更新: 刚刚找到这个帖子,似乎答案是否定的: 我如何处理类使用 Ninjec
..
我有服务结构无状态 asp.net core 2.2 应用程序.我试图将其升级到 asp.net core 3.1.我正在使用 autofac 依赖注入容器.根据 autofac 文档 DI 注册移动从 WebHostBuilder 到通用 HostBuilder https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.h
..
我有一个抽象的基本控制器,它有一个构造函数,我希望在构建控制器时由 autofac 填充. 公共抽象类 BaseController : Controller{受保护的 ILogger { 获取;私人订制;}受保护的 BaseController(){}受保护的 BaseController(ILogger 记录器){记录器 = 记录器;}} 当我从中派生控制器时,这似乎不起作用. 只有
..
我有一个抽象的基本控制器,它有一个构造函数,我希望在构建控制器时由 autofac 填充. 公共抽象类 BaseController : Controller{受保护的 ILogger { 获取;私人订制;}受保护的 BaseController(){}受保护的 BaseController(ILogger 记录器){记录器 = 记录器;}} 当我从中派生控制器时,这似乎不起作用. 只有
..
我在asp.net core 2.2中有以下代码: 公共类 JwtTokenManager : IJwtTokenManager{私有只读 JwtBearerSettings jwtBearerSettings;私有只读 JwtSecurityTokenHandler jwtSecurityTokenHandler;公共 JwtTokenManager(IOptions options,JwtS
..
我有一个 dotnet 核心应用程序.我的 Startup.cs 在 Autofac 中注册类型/实现.我的一个注册需要事先访问服务. var containerBuilder = new ContainerBuilder();containerBuilder.RegisterSettingsReaders();//这使得 ISettingsReader 可用我可以用它来读取我的 appsett
..
我有一个 dotnet 核心应用程序.我的 Startup.cs 在 Autofac 中注册类型/实现.我的一个注册需要事先访问服务. var containerBuilder = new ContainerBuilder();containerBuilder.RegisterSettingsReaders();//这使得 ISettingsReader 可用我可以用它来读取我的 appsett
..
在我们的应用程序中,我们有一个 api,它将一些数据存储到数据库中.我们正在使用 Entity Framework Core 3.1.1.存储此实体后,将一条消息发布到 Azure Servicebus,消费者将读取此消息并将消息存储到同一 DbContext 中的另一个表中. 据我所知,LifetimeScope 是针对每个 api 请求定义的.LifetimeScope 将在 api 请
..
我已经在 Autofac 中注册了我的通用接口,但是当我解决它时抛出异常. Autofac.Core.Registration.ComponentNotRegisteredException: 请求的服务 'MyCLI.Command.ICommandHandler`1[[MyCLI.Command.ICommand, MyCLI, Version=1.0.0.0, Culture=neut
..
我正在使用 Hangfire.Autofac 并尝试根据文档对其进行配置: GlobalConfiguration.Configuration.UseAutofacActivator(builder.Build()); 但我得到以下异常: Build() 或 Update() 只能在 ContainerBuilder 上调用一次 我是 .Net Core 的新手,如何启用 Auto
..
我有很多命令和查询,其中大多数需要相同的接口来做不同的事情.是否有可能减少我的每个处理程序都需要并一遍又一遍地重复的这种混乱? 公共类 GetCoinByIdQueryHandler : IRequestHandler{私有只读 EventsContext 上下文;私有只读 ICacheClient 缓存;私有只读 ILogger 记录器;私有只读 IMapper 映射器;私人只读设置设置;公共
..
我可以在 MVC Core 中轻松使用构造函数参数注入.但是不支持属性注入.我尝试使用 AutoFac 但也失败了. 那么如何在 MVC Core 中使用属性注入. 这是带有 AutoFac 的代码 services.AddMvc();ContainerBuilder builder = new ContainerBuilder();builder.RegisterType().As();b
..
AspNet 核心应用 1) 像这样的 Autofac 模块 公共类 AutofacModule : 模块{受保护的覆盖无效负载(ContainerBuilder builder){//注册我的组件.需要从这里访问 appsettings.json 值}} 2) step№1的模块注册到Startup.cs public void ConfigureContainer(Containe
..
AspNet 核心应用 1) 像这样的 Autofac 模块 公共类 AutofacModule : 模块{受保护的覆盖无效负载(ContainerBuilder builder){//注册我的组件.需要从这里访问 appsettings.json 值}} 2) step№1的模块注册到Startup.cs public void ConfigureContainer(Containe
..