首先引入Autofac库,
cmd下运行
dotnet add package Autofac
成功后,在项目文件 MyWebApp.csproj 中可以看到增加了
<PackageReference Include="Autofac" Version="6.3.0" />
增加一个类:
code\db\AutofacConfig.cs
using Autofac;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using core_admin.i;
using core_admin.d;
namespace core_admin.db
{
public class AutofacConfig
{
public static IContainer Container { get; set; }
public AutofacConfig() { }
public static void Register()
{
var builder = new ContainerBuilder();
//注册
builder.RegisterType<Dao_Blog>().As<IBlog>().InstancePerLifetimeScope();
Container = builder.Build();
}
}
}
这里将接口 IBlog 和 实现类 Dao_Blog 绑定。
在程序启动的时候执行,即在 Program.cs 中增加一行
AutofacConfig.Register();
现在的 Program.cs
using core_admin.utils;
using core_admin.db;
Global_Values.connStr = WebHelper.get_item("connStr");
AutofacConfig.Register();
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();