问题标签 [autofac-configuration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5920 浏览

c# - Autofac IComponentContext 与 ILifetimeScope

我在服务中传递了 IContainer ,所以我读到传递它并不好,而是只将它用于应用程序的根目录并传递 IComponentContext 或 ILifetimeScope 。所以我试图了解我应该使用 IComponentContext 还是 ILifetimeScope。不明白区别

0 投票
2 回答
332 浏览

c# - Autofac 结合 RegisterApiControllers 在 ApiController 上注入属性

我想将文件中的属性ModulesData属性注入autofac.json到我ApiController的名字中DataController

我读了这个页面: http ://docs.autofac.org/en/latest/configuration/xml.html但我的属性一直存在NULL,所以我一定做错了什么。谁能帮我?

Controller已经有一个ILog正在注入实例的构造函数,所以这些属性是额外的。

这是Autofac我现在的配置:

这是我的autofac.json

我的Controller样子是这样的:

0 投票
1 回答
730 浏览

c# - Autofac如何更新注册?

Autofac 文档

Autofac 默认覆盖组件注册。这意味着应用程序可以注册其所有默认组件,然后读取关联的配置文件以覆盖为部署环境定制的任何配置文件。

我怎样才能覆盖注册,首先我进行组装扫描,

然后尝试更新没有范围标签的注册

但是仍然有 2 个注册,当我解析 NotPerRequestType 时,我仍然没有收到匹配的标签错误。

0 投票
0 回答
69 浏览

.net - Autofac 注册 - 对于用户定义的线程

在我们的项目中,我们有多个线程并行运行。因此,对于每个客户,我们都有各自的主题。目前我们有一个应用程序级别的日志,使用 Serilog,所有线程的日志都写入一个文件夹。我们计划对此进行更改,以便将每个客户的日志放在各自的文件夹中。

该文件夹应在其名称中使用 CustomerId 形成,并且在为客户创建线程时,应注册它以便在运行时解析它。

我尝试在我们拥有的模块中注册,但问题是在注册模块时我们不会知道客户 ID。

所以基本上我的要求是,我们应该为每个线程(用户定义)有一个记录器实例,并且能够在后面的其他类中使用它,或者换句话说,使用线程名或一些关于不同线程注册相同的组件其他字段,例如 customerid。

谁能帮助我如何在运行时注册和解决这个问题?

谢谢!

0 投票
1 回答
725 浏览

c#-4.0 - Autofac - 如何解析使用 JSON 配置注册的实例

我们的要求是为不同的用户定义线程提供不同的 Logger 实例。

] }

我创建了这个 JSON 并将其注册为一个模块,以便每个值都有单独的注册 - 18122 和 18105。但我不明白如何在运行时解决它们以及确切的位置。

我创建了 2 个文件夹,但记录器不写入其文件,它也写入另一个文件。简而言之,我通过解析获得的实例不是该特定值的实例。

如果我在构造函数中注入它,只有 18105 得到解决。

有人可以帮忙吗!

谢谢!

0 投票
0 回答
290 浏览

autofac - Autofac - 使用对象配置模块列表属性

我想为每个 XML 配置一个具有属性的模块,其中包含 MyObject 类的列表。我的 Module 和 MyObject 类看起来像:

我的假设是在 XML 中像这样配置它:

但是如果我运行它,我会得到以下异常:

我正在使用 Autofac 4.5.0 和 Autofac.Configuration 4.0.1。

我究竟做错了什么?有没有办法让它工作?

0 投票
1 回答
1805 浏览

c# - ConfigurationModule 传递到 Module 和 context - DotNet Core

所以我正在尝试使用 Autofac DI 通过堆栈传递我的配置 json 文件。我的主要功能如下:

我已经在这里成功注册了模块......接下来我的 BusModule 被加载......

然后解决了我的 BusSettings 类,但这是我希望使用配置文件设置属性的地方,问题是我不知道如何从那里访问配置文件...

有谁知道这样做的正确方法?

0 投票
1 回答
1493 浏览

autofac - 从 autofac 中的 web.config 读取模块以根据解决方案配置更改容器配置

我已经创建了一些 Autofac 模块......现在我想使用 web.config 在我的容器中注册其中一些......在我的 web.config 中,我写了:

现在我必须构建我的容器。但是我不清楚autofac文档。我不明白我必须做什么才能阅读我的模块和构建容器。

我正在使用最新版本的 Autofac,所以我没有ConfigurationSettingsReader可用的课程。

任何人都可以帮助我吗?

编辑

我在 web.config 上发现了有趣的保存配置,因为这样我可以根据我的解决方案配置“更改”web.config(你知道,经典的 web.debug.config、web.release.config 等)......

这可以帮助我注册正确的模块,避免使用指令(#if bla bla bla,...)或简单的条件...

我已经在使用模块,但我认为正确的解决方案不是在模块内添加一个属性来根据我要部署项目的选定环境选择要解析的组件。我只是想到这个解决方案阅读这个例子(顺便说一句,Flexibility to Override还是指ConfigurationSettingsReader. 可以吗?)

0 投票
1 回答
593 浏览

c# - 多项目解决方案的 Autofac 范围配置

我有一个 ASP.NET Web 应用程序,到目前为止,它一直在使用 Autofac 配置类,该类InstancePerRequest()在应用程序中指定了一个服务。

从那时起,我在同一个解决方案中创建了一个新的控制台应用程序,它将负责运行自动化的作业流程。由于我不能为我的控制台应用程序使用 InstancePerRequest 配置,因此我需要更改我的配置。理想情况下,我不想将所有配置复制并粘贴到我的 JobRunner 应用程序中并在InstancePerLifetimeScope()那里使用“”配置。

有没有更好的解决方案,我可以在很大程度上使用相同的配置来服务两个项目?也许有一种方法可以覆盖我的 Job Runner 应用程序的配置,但不必为每个服务指定范围的更改?

0 投票
0 回答
1289 浏览

asp.net-web-api - Autofac RegisterAssemblyModules 抛出 Autofac.Core.DependencyResolutionException

我有一个使用 Autofac 的 WebAPI 2。下面的作品,但RegisterAssemblyModules抛出DependencyResolutionException

网络API 2

基础设施引导程序

更新如下:
LoggingBootstrapper

所有项目都在下面使用。

信息:.net 4.5.2、WebAPI 2、Owin 托管和通过 Topshelf 提供的 Windows 服务。

客户 api 控制器使用承包商依赖注入。注入尚未解决依赖关系,因此出现以下异常: