NET6 自动注册依赖注入容器
时间: 2024-01-09 17:05:52 浏览: 221
.NET 6中引入了一种名为"Minimal APIs"的新方式,它可以轻松地创建Web API,并且可以自动注册依赖注入容器。要使用自动注册依赖注入容器,您需要在您的项目中添加Microsoft.Extensions.DependencyInjection NuGet包。然后,您可以使用以下代码创建一个简单的Web API,并自动注册依赖注入容器:
```csharp
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton<IMyService, MyService>();
var app = builder.Build();
app.MapGet("/", async http =>
{
var myService = http.RequestServices.GetRequiredService<IMyService>();
await http.Response.WriteAsync($"Hello from {myService.GetType().Name}");
});
app.Run();
```
在上面的代码中,我们通过调用`builder.Services.AddSingleton<IMyService, MyService>()`自动注册了`IMyService`接口和`MyService`类的实现。然后,我们使用`http.RequestServices.GetRequiredService<IMyService>()`获取`IMyService`的实例,并在响应中使用它。
需要注意的是,自动注册依赖注入容器有其局限性,如果您的应用程序需要更复杂的依赖注入,您可能需要手动注册依赖项。
阅读全文