c# - Autofac - 我可以使用 Microsoft.Extensions.DependencyInjection 的注册样式代替 Autofac 吗?

标签 c# asp.net dependency-injection autofac microsoft-extensions-di

我们知道注册样式应该类似于 builder.RegisterType<EmailService1>().As<ISendEmailService>().SingleInstance();而asp.net core内置使用services.AddSingleton<ISendEmailService, EmailService1>();

不知道是否可以保留内置风格并使用Autofac作为DI引擎?我有一个项目曾经使用asp.net core内置DI [Microsoft.Extensions.DependencyInjection],我们想切换到Autofac,而不需要将所有寄存器代码从内置DI重写为Autofac 1。可能吗?

附:我已经安装了Autofac.Extensions.DependencyInjection并按照文档中提到的进行设置

最佳答案

是的,如果您愿意,您可以使用 Microsoft 格式进行所有注册。只是不要尝试在同一个注册中使用两种语法 - 就像如果您正在以 Microsoft 格式注册 lambda 注册,则不能在该 lambda 中使用 Autofac 内容。

要知道这样的事情是否可行,最好的方法就是去做。尝试一下 POC。您可能会遇到特定于应用程序的问题,但由于某种原因而不起作用。这不是任何人都可以预测的。

关于c# - Autofac - 我可以使用 Microsoft.Extensions.DependencyInjection 的注册样式代替 Autofac 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73840564/

相关文章:

c# - HtmlAgilityPack 替换节点

c# - 如何检查我的应用程序与 .net 核心的兼容性?

asp.net - Youtube 喜欢评论-当用户尝试添加评论时在文本上显示链接

c# - C#中依赖注入(inject)和YAGNI混淆的正确使用

c# - EPPlus 未正确插入配方

c# - 如何升级在 Windows 故障转移群集上运行的通用应用程序

c# - Win32com.client.dispatch Python 调用 C# 中的等价物

c# - 使用程序集名称和类类型动态创建类对象

java - Dagger2 对待 @Singleton 和自定义 sopes 的方式有区别吗?

dependency-injection - 如何使用 Ninject 约定绑定(bind)服务