首页 文章

在.NET Core 2 WebAPI应用程序中,dbcontext的范围和生命周期是什么

提问于
浏览
0

我有一个.NET Core 2 WebAPI应用程序 . 在Startup类的ConfigureServices中,我添加了一个带有services.AddDbContext <>的DbContext和一个带有services.AddScoped <,>的存储库...

When is the dbcontext created and how long does it last?

我的WPF桌面时代我在Using语句中创建了dbcontext,所以,我总是知道范围 . 但是现在dbcontext的生命周期在Core 2 WebAPI中对我来说有点不太明显 . 并且,多个用户可以同时访问API,每个用户都可以获得自己的dbcontext吗?

1 回答

  • 0

    默认情况下,在ASP.NET核心术语中添加了上下文"scoped",这意味着大部分都是请求范围的 . 您的主应用程序只运行一次( Startup 中的所有内容等) . 对于每个请求,都会创建一个唯一的请求管道,其中包括新建控制器之类的东西,然后在请求结束时将其处理掉 . 使用请求范围的上下文,您的上下文也将在需要第一次注入请求管道时被新建,并且在同一请求管道中的所有将来使用at上下文将使用相同的上下文 . 在请求结束时,它将被处置 .

相关问题