netcore 依赖注入 AddTransient、AddScoped、AddSingleton

Fork Me On Github

使用

Startup.cs

c#
        
public void ConfigureServices(IServiceCollection services)
{
    services.AddScoped<IDatabase>(x =>
    {
        return new Database(Configuration.GetConnectionString("Default"), DatabaseType.MySQL, MySql.Data.MySqlClient.MySqlClientFactory.Instance);
    });
    services.AddScoped(typeof(UserRepository));
}
12345678

区别

AddTransient 每次注入的都是新实例,相当于手动 new

AddScoped 每次请求,都获取一个新的实例,在一个请求中,获取多次会得到相同的实例。

AddSingleton 每次都获取同一个实例

点击查看全文
0 788 0