.Net core依赖注入
时间: 2023-08-10 17:07:13 浏览: 104
基于对知乎热榜话题的数据抓取分析与可视化python实现源码+文档说明(高分完整项目)
在 .NET Core 中,依赖注入是一个内置的功能。可以使用 .NET Core 内置的容器进行依赖注入,也可以使用第三方的依赖注入容器,如 Autofac、Ninject 等。
下面介绍如何在 .NET Core 中使用内置的依赖注入容器。
首先,需要在项目中添加 Microsoft.Extensions.DependencyInjection 包。可以通过 NuGet 包管理器或者在 csproj 文件中添加以下代码来添加:
```xml
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.0" />
</ItemGroup>
```
然后,在 Startup 类的 ConfigureServices 方法中进行服务的注册:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IMyService, MyService>();
// 其他服务的注册
}
```
上面的代码注册了一个名为 `IMyService` 的服务,并指定其实现类型为 `MyService`,并且声明其生命周期为“瞬态”,即每次请求都会创建一个新的实例。
最后,在需要使用服务的地方,可以通过构造函数注入的方式获取服务:
```csharp
public class MyController : Controller
{
private readonly IMyService _myService;
public MyController(IMyService myService)
{
_myService = myService;
}
// 其他代码
}
```
上面的代码中,通过构造函数注入的方式获取了 `IMyService` 服务的实例。当创建 `MyController` 实例时,依赖注入容器会自动创建 `IMyService` 的实例并传递给构造函数。
这就是在 .NET Core 中使用内置的依赖注入容器的基本步骤。除了瞬态生命周期,还有单例生命周期和作用域生命周期可以选择。具体可以参考 Microsoft 的官方文档。
阅读全文