C# 依赖注入startup说明
时间: 2023-07-12 17:48:53 浏览: 193
EFcore Repository 依赖注入方式实现数据库基本操作
3星 · 编辑精心推荐
在 C# 中,可以使用 ASP.NET Core 的 Startup 类来配置依赖注入。Startup 类是一个特殊的类,它会在应用程序启动时被调用,用于配置应用程序的服务和中间件。
下面是一个简单的示例,演示如何在 Startup 类中配置依赖注入:
```
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// 注册服务
services.AddTransient<IMyService, MyService>();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 配置中间件
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
// 使用服务
var myService = context.RequestServices.GetService<IMyService>();
var message = myService.GetMessage();
await context.Response.WriteAsync(message);
});
});
}
}
```
在 ConfigureServices 方法中,我们可以使用 services 参数来注册我们需要使用的服务。这里使用了 Transient 生命周期,表示每次请求都会创建一个新的实例。
在 Configure 方法中,我们可以使用 app 参数来配置中间件。这里使用了 UseRouting 和 UseEndpoints 中间件来处理 HTTP 请求,并且在处理请求时,使用 context.RequestServices.GetService 方法来获取我们注册的服务的实例,并使用它来处理请求。
需要注意的是,为了使用依赖注入,我们需要在项目中添加 Microsoft.Extensions.DependencyInjection 包。
阅读全文