解决 Module 类中的 AutoFac 依赖关系

2023-12-27

我是 AutoFac 的新手,目前正在我的应用程序配置中使用自定义模块来启动一些核心 F# 系统。我正在使用的代码是

var builder = new ContainerBuilder();
builder.RegisterType<DefaultLogger>().As<IDefaultLogger>();
builder.RegisterModule(new ConfigurationSettingsReader("autofac"));
builder.Build();

在我的应用程序配置中,我有适当的逻辑来启动相关系统。我想访问我的模块内的 DefaultLogger。模块基类的元数据有以下可用选项:

protected virtual void AttachToComponentRegistration(IComponentRegistry componentRegistry, IComponentRegistration registration);

protected virtual void AttachToRegistrationSource(IComponentRegistry componentRegistry, IRegistrationSource registrationSource);

public void Configure(IComponentRegistry componentRegistry);

protected virtual void Load(ContainerBuilder builder);

到目前为止,我只使用过 Load,在构建器上看不到任何允许我访问日志服务的方法。


当使用 autofac 而不是使用 RegisterType 方法在模块中注册某些内容时,您可以使用 Register 方法:

builder.Register(c =>
   {
       IComponentContext ctx = c.Resolve<IComponentContext();
       IDefaultLogger logger = ctx.Resolve<IDefaultLogger>();
       ...do something with logger...
       return ...return object you want to register...;
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决 Module 类中的 AutoFac 依赖关系 的相关文章

  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 从模板切换传递的类型

    在 C 中是否可以检查传递给模板函数的类型 例如 template
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • 如何制作可启动程序?

    所以 这个问题可能看起来很奇怪 但假设我编译了 int main void int x 3 int y 4 int z x y 是否可以让CPU这样运行 如何 例如 这允许我写入监视器吗 如果我没记错的话 内存中有些地方可以写入要显示的内容
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 使用具有抗锯齿功能的 C# 更改抗锯齿图像的背景颜色

    我有一个图像需要更改背景颜色 例如 将下面示例图像的背景更改为蓝色 然而 图像是抗锯齿的 所以我不能简单地用不同的颜色替换背景颜色 我尝试过的一种方法是创建第二个图像 仅作为背景 并更改其颜色并将两个图像合并为一个图像 但是这不起作用 因为
  • 在 OpenGL 中渲染纹理 1 到 1

    所以我想做的是使用 OpenGL 和 C 将纹理渲染到平面上 作为显示图像的一种方式 但是我需要确保在渲染纹理时没有对纹理进行任何处理 抗锯齿 插值 平滑 模糊等 这是 OpenGL 处理渲染纹理的默认方式吗 或者是否需要设置一些标志才能禁
  • 如何停止无限循环?

    我正在编写一个程序 该程序将计算三角形或正方形的面积 然后提示用户是否希望计算另一个 我的代码已经运行到可以计算任一形状的面积的程度 但随后不再继续执行代码的其余部分 例如 如果选择了正方形 则计算面积 然后返回到正方形边长的提示 我假设这
  • 如何在单独的文件中使用 FastAPI Depends 作为端点/路由?

    我在单独的文件中定义了一个 Websocket 端点 例如 from starlette endpoints import WebSocketEndpoint from connection service import Connectio
  • C++ 中 void(*)() 和 void(&)() 之间的区别[重复]

    这个问题在这里已经有答案了 在此示例代码中 func1是类型void int double and funky是类型void int double include
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • 结构化绑定的用例有哪些?

    C 17 标准引入了新的结构化绑定 http en cppreference com w cpp language structured binding功能 最初是proposed http www open std org jtc1 sc
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include

随机推荐

  • 为什么在迭代 NumPy 数组时 Cython 比 Numba 慢很多?

    当迭代 NumPy 数组时 Numba 似乎比 Cython 快得多 我可能缺少哪些 Cython 优化 这是一个简单的例子 纯Python代码 import numpy as np def f arr res np zeros len a
  • 使用 Nexus 设置缺少 Maven 依赖项

    我正在尝试构建一个 Maven 项目来测试一些测试软件 Arquillian 我设置了 nexus 并将 jboss 存储库添加到公共组的底部 当我跑步时mvn test我收到这个错误 Missing 1 com sun istack is
  • 同一tomcat的webapp之间共享对象

    我有 2 个 web 应用程序在两个上下文中运行 c1 c2 都紧接在根目录之后 我在 c1 中放置了一个startupListener 来共享一个变量 在 c2 中放置了另一个来检索它 我在 c1 中的启动侦听器是 public void
  • 将列类型更改为导轨中较长的字符串

    在第一次迁移时 我在列上声明content成为字符串 Activerecord 根据注释 gem 将其设置为 string 255 将应用程序推送到使用 postgres 的 Heroku 后 如果我在内容表单中输入长度超过 255 的字符
  • 如何在doc任务中排除java源文件?

    我正在将 sbt 0 11 2 用于混合 Java Scala 项目 我意识到当我运行时doc从 sbt 中运行命令 它不仅为 Scala 源文件创建 scaladocssrc main scala 也适用于 Java 源文件src mai
  • kafka 8 和内存 - 内存不足,Java 运行时环境无法继续

    我正在使用具有 512 兆内存的 DigiOcean 实例 在使用 kafka 时出现以下错误 我不是一个精通java的开发人员 如何调整kafka以利用少量的内存 这是一个开发服务器 我不想为更大的机器支付更多的每小时费用 There i
  • 具有嵌套模块的嵌套路由

    我第一次开发 Angular 2 应用程序 我有与此类似的路由 home projects projects id members projects id members id tasks 从我在互联网上可以找到的所有参考资料 教程和文章中
  • wordpress get_the_category 返回空

    保存新评论后 我可以通过functions php进行重定向 add filter comment post myredirect 我想重定向到产品类别列表 例如 http example org baktec27 product cat
  • C# 中拦截对属性 get 方法的调用

    假设我们有这个类 public class Person public int Id get set public string Name get set 现在 在 C 中是否可以拦截对属性获取方法的调用 运行其他方法并返回该方法的结果而不
  • 将字符串文字分配给 char 数组,如何将字符串文字复制到堆栈上?

    我知道当您执行 char array string 时 字符串文字 string 会从数据段复制到堆栈 字符串文字是否逐字符复制 或者编译器获取字符串文字的起始和结束地址并将整个字符串一次性复制到堆栈中 thanks 只要观察到的结果相同
  • Provider 与 InheritedWidget

    我错了还是我们只是想传递一个值Widget tree Provider https pub dev packages provider只是一个InheritedWidget with a dispose method 是的 Provider
  • Skia 或 Direct2D 如何使用 GPU 渲染线条或多边形?

    这是一道了解2d矢量图形GPU加速渲染原理的题 使用 Skia 或 Direct2D 您可以绘制例如圆角矩形 贝塞尔曲线 多边形 还有模糊等效果 Skia Direct2D 提供基于 CPU 和 GPU 的渲染 For the CPU渲染
  • TreeView ContextMenu MVVM 绑定

    我目前有一个使用 MVVM 模型的 UserControl 该控件中有一个 TreeView 它显示一些项目 我为此 TreeView 添加了一个 HierarchicalDataTemplate 并且在该模板中是项目的 ContextMe
  • MongoDB 无法更新文档,因为 _id 是字符串,而不是 ObjectId

    我正在做一个rest api来在mongo数据库和网络应用程序之间交换数据 这些数据是json格式的 我在更新文档时遇到了麻烦 cannot change id of a document 事实上 在我的 JSON 中 文档的 id 存储为
  • 如果其他线程只读取共享数据,OpenMP 是否需要原子写入?

    我在 C 中有一个 openmp 并行循环 其中所有线程都访问一个共享的 double 数组 每个线程仅在其自己的数组分区中写入 两个线程不能写入同一个数组条目 每个线程读取其他线程写入的分区 只要双精度值是旧值或更新值 不是读取半写入的双
  • 我可以在 Python 类型提示中使用 __qualname__ 并推迟注释评估吗?

    我喜欢用 qualname 对于工厂式类方法的返回类型注释 因为它不会对类名进行硬编码 因此可以保持子类的工作 参见这个答案 https stackoverflow com a 58789374 857390 class Foo class
  • 如何对 XSLT 中多个节点的值求和

    我需要一个循环到特定节点position 以及这些节点的总和 例如 如果我的位置是 2 那么节点 1 节点 2 如果我的位置是 5 那么节点 1 节点 2 节点 3 节点 4 节点 5 在 XSLT 中如何做到这一点 有以下 xml
  • 仅为页面的某些部分(div)定义不同数量的 Bootstrap 4 列?

    默认情况下 Bootstrap 4 有 12 列 可以通过 https getbootstrap com docs 4 0 getting started theming https getbootstrap com docs 4 0 ge
  • 如何在 unix 中守护任意脚本?

    我想要一个守护程序 它可以将任意通用脚本或命令转换为daemon http en wikipedia org wiki Daemon computer software 我想处理两种常见情况 我有一个应该永远运行的脚本 如果它死掉了 或重新
  • 解决 Module 类中的 AutoFac 依赖关系

    我是 AutoFac 的新手 目前正在我的应用程序配置中使用自定义模块来启动一些核心 F 系统 我正在使用的代码是 var builder new ContainerBuilder builder RegisterType