目前缺乏关于DI主题的文档 - 依赖注入.有人可以帮我理解以下内容:
这些注册有什么区别?
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IService, Service>();
services.AddScoped<IService, Service>();
services.AddSingleton<IService, Service>();
services.AddInstance(service);
}
Run Code Online (Sandbox Code Playgroud)我有一个Generic存储库,我想注册DI,它实现了一个接口IRepository.
通常我会像这样创建一个实例:
IRepository repo = new Repository<Order>();
Run Code Online (Sandbox Code Playgroud)
不过我想起床的速度在.NET 5提前释放,并希望得到这与DI的工作,我已经使出了以下内容:
services.AddTransient<DAL.IRepository<Models.Order>, DAL.Repository<Models.Order>>();
Run Code Online (Sandbox Code Playgroud)
但这感觉不对,我不希望在我的模型中的每个类中都有50多行...
我在网上找不到任何关于此的信息,我知道它可能与其他ioc容器有关..但由于这是一个学习项目,我不想使用另一个容器,我的目标是用.net5s原生容器来做.