为什么拓展接口
以net6为例,当program里面需要配置很多服务和服务所需要的配置,那么program会非常臃肿,且不易于阅读
那么需要额外创建一个文件来讲service单独存放
一、创建扩展文件ServiceExtensions.cs
以添加数据库service为例
public static class ServiceExtensions
{
//this IServiceCollection services这个参数用来拓展service服务, IConfiguration configuration这个参数是自定义的用来传入自己的配置
public static IServiceCollection AddApplicationDbContext(this IServiceCollection services, IConfiguration configuration)
{
// 数据库配置系统应用用户数据上下文
services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql(configuration.GetConnectionString("ConnectionMysql"), new MySqlServerVersion(new Version(8, 0, 11))));
//放回serv
return services;
}
}
.....
二、添加service服务
打开program文件,用法与添加正常service一样
builder.Services.AddApplicationDbContext(configuration)
//其他自定义配置
.AddIdentityContext(configuration)
.ConfigureMvcSetting()
.AddInternetCookieSameSite();