В приложении .NET Core 2 WebAPI, какова область действия и время жизни dbcontext - PullRequest
0 голосов
/ 28 июня 2018

У меня есть приложение .NET Core 2 WebAPI. В классе запуска 'ConfigureServices я добавляю DbContext с services.AddDbContext <> и хранилище с services.AddScoped <,> ...

Когда создается dbcontext и как долго он длится?

В мои дни рабочего стола WPF я создал свой dbcontext в операторе Using, так что я всегда знал сферу. Но теперь время жизни dbcontext для меня немного менее очевидно в Core 2 WebAPI. И несколько пользователей могут одновременно использовать API, каждый из них получает свой собственный dbcontext?

1 Ответ

0 голосов
/ 28 июня 2018

По умолчанию контекст добавляется «scoped» на языке ASP.NET Core, что означает действительно request -scoped по большей части. Ваше основное приложение запускается только один раз (все в Startup и т. Д.). Для каждого запроса создается уникальный конвейер запросов, который включает в себя обновление таких вещей, как контроллеры, которые затем будут расположены в конце запроса. В контексте контекста запроса ваш контекст также будет обновляться при первом его внедрении в конвейер запросов, и все последующие использования контекста at в том же конвейере запросов будут использовать тот же контекст. В конце запроса он будет удален.

...