哪个网站建设公司好,创建网站超链接,网站建设论文读书笔记,高端企业网站源码目录
一、NuGet 包导入
二、Autofac 封装类
三、Autofac 使用
四、案例测试 下列封装 采取程序集注入方法, 单个依赖注入, 也适用, 可依赖注入的地方配置
一、NuGet 包导入 Autofac Autofac.Extensions.DependencyInjection Autofac.Extras.DynamicProxy 二、Auto…目录
一、NuGet 包导入
二、Autofac 封装类
三、Autofac 使用
四、案例测试 下列封装 采取程序集注入方法, 单个依赖注入, 也适用, 可依赖注入的地方配置
一、NuGet 包导入 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()).ConfigureContainerContainerBuilder(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();// 在这里注册其他依赖-------------------#endregionbase.Load(builder);}
}三、Autofac 使用
// 在 Program.cs 文件中
// 添加Autofac 扩展
builder.AddAutofacExt();
四、案例测试 如有错误烦请批评指正