目錄
一、NuGet 包導(dǎo)入
二、Autofac 封裝類
三、Autofac 使用
四、案例測試
下列封裝 采取程序集注入方法, 單個依賴注入, 也適用, 可<依賴注入>的地方配置
一、NuGet 包導(dǎo)入
Autofac
Autofac.Extensions.DependencyInjection
Autofac.Extras.DynamicProxy
二、Autofac 封裝類
using System.Reflection;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Module = Autofac.Module;
namespace LOG.Autofac;
/// <summary>
/// 自定義擴展 Autofac 方法
/// </summary>
public static class CustomAutoFacExt
{
public static void AddAutofacExt(this WebApplicationBuilder builder)
{
// 通過工廠替換,把Autofac整合進來
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureContainer<ContainerBuilder>(
build =>
{
build.RegisterModule(new AutoFacManager());
});
}
}
public class AutoFacManager : Module
{
// 重寫 Autofac 管道 Load方法, 在這里注入
protected override void Load(ContainerBuilder builder)
{
#region 依賴注入
// 加載程序集 -- "Services" 為類庫名
Assembly services = Assembly.Load("Services");
// 添加程序集依賴
builder.RegisterAssemblyTypes(services)
.Where(t => t.Name.EndsWith("Services"))
.AsImplementedInterfaces();
// 在這里注冊其他依賴-------------------
#endregion
base.Load(builder);
}
}
三、Autofac 使用
// 在 Program.cs 文件中
// 添加Autofac 擴展
builder.AddAutofacExt();
四、案例測試
?文章來源:http://www.zghlxwxcb.cn/news/detail-625440.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-625440.html
如有錯誤,煩請批評指正
到了這里,關(guān)于.Net6 Web Core API 配置 Autofac 封裝 --- 依賴注入的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!