我们知道注册样式应该类似于 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/