Эта ссылка ( functions-do tnet -dependency-injection # service-lifetimes ) описывает возможные сроки жизни для Azure функции.
Для HttpClient Microsoft предлагает используйте Singleton .
Но как насчет DbContext ?
Я думаю, что Scoped будет лучшим выбором, потому что это также используется по умолчанию при регистрации DbContext, например:
services.AddDbContext<MyContext>(options => options.UseSqlServer("..."));
Однако это означает, что для нового QueueMessage создается новый DbContext. Есть ли значительное снижение производительности при использовании этого Scoped ? Или использование Singleton приведет к другим проблемам?