服务注册方法
服务注册扩展方法提供了适用于各个场景下的重载。如下表格所示:
=
thod | Automatic object disposal |
Multiple implementations |
Pass args |
---|---|---|---|
Add{LIFETIME}<{SERVICE}, {IMPLEMENTATION}>() Example: services.AddSingleton<IMyDep, MyDep>(); |
Yes | Yes | No |
Add{LIFETIME}<{SERVICE}>(sp => new {IMPLEMENTATION}) Examples: services.AddSingleton<IMyDep>(sp => new MyDep()); services.AddSingleton<IMyDep>(sp => new MyDep("A string!")); |
Yes | Yes | Yes |
Add{LIFETIME}<{IMPLEMENTATION}>() Example: services.AddSingleton<MyDep>(); |
Yes | No | No |
AddSingleton<{SERVICE}>(new {IMPLEMENTATION}) Examples: services.AddSingleton<IMyDep>(new MyDep()); services.AddSingleton<IMyDep>(new MyDep("A string!")); |
No | Yes | Yes |
AddSingleton(new {IMPLEMENTATION}) Examples: services.AddSingleton(new MyDep()); services.AddSingleton(new MyDep("A string!")); |
N |