autofac相关内容

容器构建完成后添加服务

是否可以在运行时注册服务,这意味着在构建了 ContainerBuilder 并且创建了 Container(以及 ContainerBuilder代码>处置)? 解决方案 是的,你可以,使用 ContainerBuilder 上的 Update 方法: var newBuilder = new ContainerBuilder();newBuilder.Register...;newB ..
发布时间:2021-11-30 19:55:02 其他开发

Autofac 延迟属性注入

我正在尝试将业务逻辑实现注入到 Web API 基础控制器中.不知何故,基本控制器中的属性总是 null. 还有我怎么做懒惰注入? Startups.cs public IServiceProvider ConfigureServices(IServiceCollection services){//添加框架服务.服务.AddMvc();var containerBuilder = ..
发布时间:2021-11-30 19:54:53 C#/.NET

如何将自定义 JSON 文件添加到 IConfiguration 中?

我使用的是 asp.net + Autofac. 我正在尝试加载自定义 JSON 配置文件,并基于该文件创建/实例化 IConfiguration 实例,或者至少将我的文件包含在默认情况下 IConfiguration asp.net 构建的任何内容中. 我的问题是 asp.net 似乎覆盖了 IConfiguration 的依赖项注册. 我似乎无法注册自己的 IConfigur ..
发布时间:2021-11-30 19:54:35 C#/.NET

特定类类型的 Autofac 扫描程序集

我已经开始使用 Autofac 并想扫描一些 DLL 并让 Autofac 注册其中的一些类. 我感兴趣的类都继承自 PluginBase 类,但下面的代码似乎没有注册它们.有人可以帮忙吗? var assembly = AppDomain.CurrentDomain.GetAssemblies();var builder = new ContainerBuilder();builder ..
发布时间:2021-11-30 19:54:23 C#/.NET

Web 应用程序中的 Autofac,我应该将容器存储在哪里以便于访问?

我对使用 Autofac 还是很陌生,我在文档和示例中遗漏的一件事是如何轻松地从 Web 应用程序的不同位置访问已配置的容器. 我知道我可以使用 Autofac 控制器工厂来自动解决控制器的构造函数注入依赖项,但是您可能需要解决的其他尚未注入的内容如何. 是否有我不知道的明显模式? 谢谢! 解决方案 首先尽量不要过度使用 IoC 容器.它非常适合“连接"控制器、视图和服务 ..
发布时间:2021-11-30 19:54:09 C#/.NET

如何根据传递到的服务解析接口

我有一个界面. 公共接口 ISomeInterface {...} 和两个实现(SomeImpl1和SomeImpl2): public class SomeImpl1 : ISomeInterface {...}公共类 SomeImpl2 : ISomeInterface {...} 我还有两个服务,我在其中注入了 ISomeInterface(通过构造函数): 公共类 Service ..
发布时间:2021-11-30 19:53:45 C#/.NET

用 AutoFac 替换工厂

我习惯于创建我自己的工厂,如图所示(这是为了说明而简化的): 公共类ElementFactory{公共 IElement 创建(IHtml dom){开关(dom.ElementType){案例“表":返回新的表元素(dom);案例“div":返回新的 DivElement(dom);案例“跨度":返回新的 SpanElement(dom);}返回新的 PassthroughElement(do ..
发布时间:2021-11-30 19:53:34 C#/.NET

是否可以将 Autofac 配置为与 ASP.NET MVC 和 ASP.NET Web Api 一起使用

是否可以将 Autofac 配置为与 ASP .NET MVC 和 ASP .NET Web Api 一起使用.我知道依赖解析器是不同的.但是当使用记录的方法时,我只能设置一个全局解析器. //设置依赖解析器实现.GlobalConfiguration.Configuration.DependencyResolver = 解析器; 这种方法是坏主意吗?我应该将我的解决方案分成两个项目并分别处理 ..
发布时间:2021-11-30 19:53:23 其他开发

Autofac:注册组件并根据解析父组件进行解析

我想注册一个组件以根据它可能要解析的类使用参数进行解析.(这听起来有点令人困惑,所以我会举一个例子). 这是一个使用记录器的对象: class MyObject : IMyObject{公共 ILogger 记录器;公共 MyObject(ILogger 记录器){记录器 = 记录器;}} 现在传入的记录器可能因类而异.因此,对于如何在下面执行此操作,我有一个相当完整的想法: clas ..
发布时间:2021-11-30 19:53:12 C#/.NET

使用 Autofac 将依赖项注入控制台应用程序的 Main 入口点

假设我有一个简单的控制台应用程序: 公共静态类程序{私有静态 ILog 日志 { 获取;放;}public static void Main(){Log.Write("你好,世界!");}} 我可以使用 Autofac 注入 Log 实例并确保 Log 属性在运行时不会为空的最简单方法是什么?问题是我无法通过 Main() 传递它,并且我试图避免使用容器的服务位置(只是因为). 解决方案 ..
发布时间:2021-11-30 19:53:03 C#/.NET

Autofac - 无法创建请求生命周期范围,因为 HttpContext 不可用 - 由于异步代码?

简短问题:与这个未解决的问题相同 长问题: 我刚刚将使用 Autofac 的 MVC 4 + Web Api 解决方案中的一些代码移植到我的新解决方案中,该解决方案也使用 Autofac,但仅适用于 Web Api 2(没有 MVC 5.1 项目,只有一个 Web api). 在我之前的解决方案中,我有 MVC4 和 Web Api,所以我有 2 个 Bootstrapper.cs ..
发布时间:2021-11-30 19:52:52 C#/.NET

HtmlHelper 扩展方法中的依赖注入?

我想将属性渲染器实现为处理程序.我在应用程序中使用 Autofac 作为 DI 容器.如何在不使用全局可访问容器(服务位置)的情况下获取在 HtmlHelper 扩展中实现 IPropertyHandler 的对象?是否可以在 Autofac 中注册自己的 HtmlHelper?也许 MVC 框架提供了另一种方式? public static class HtmlHelperExtensions ..

获取实现某个接口的所有注册对象的列表

考虑以下内容 builder.Register(c => new A());builder.Register(c => new B());builder.Register(c => new C()); B 和 C 都是 ISomeInterface. 我现在想要获取所有实现 ISomeInterface 的注册对象的 IEnumerable. 如何在 Autofac 中完成此操作? ..
发布时间:2021-11-30 19:52:29 其他开发

如何将所有解析请求记录到 Autofac 容器?

我正在尝试调试遗留代码库中的一些问题.我认为是由于无法从 Autofac 容器中解决某些问题而引发的异常引起的.但是我认为异常被埋在某处,我没有看到根本原因.我确信控制器正在请求一些无法找到的东西,或者可以找到的东西具有无法满足的依赖关系.没有任何保护条款等,所以我想我遇到了一个空引用问题.为了尝试调试这个,我想查看在容器中找不到的所有请求. 无论如何要记录 Autofac 无法解决的所有请 ..
发布时间:2021-11-30 19:52:23 其他开发

MVC Web API 不适用于 Autofac 集成

我像这样使用了 autofac 的 MVC 集成: ...var 容器 = builder.Build();DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 但现在我想用新的 Web Api RTM 重新创建解决方案.我想使用新的 AutofacWebApiDependencyResolver 类 ..
发布时间:2021-11-30 19:52:15 其他开发