SQL Server Тайм-аут первоначального подключения к базе данных через 30 секундC#

Место общения программистов C#
Ответить
Anonymous
 SQL Server Тайм-аут первоначального подключения к базе данных через 30 секунд

Сообщение Anonymous »

Я использую веб-API C# в .Net6 (не ядро) для доступа к базе данных SQL Server в Azure. Иногда соединение с базой данных прерывается через 30 секунд.
В главном я делаю это...

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContextPool(options => options.UseSqlServer(ConnStr));
var app = builder.Build();
Я пытался изменить тайм-аут в конструкторе MyContext...

Код: Выделить всё

public MyContext(DbContextOptions options) : base(options)
{
Database.SetCommandTimeout(230);    // 230 is the maximum allowed by azure
}
Иногда это помогает, но иногда я все равно вижу таймаут через 30 секунд. Возможно, это связано с тем, что base(options) занимает слишком много времени.
Мой обходной путь сейчас — создать API-интерфейс "ping", который возвращает hello world, а затем клиент должен вызвать «ping», чтобы «разбудить» сервер, прежде чем предпринимать что-либо еще. Очевидно, это не идеальное решение.
Посоветуйте, как лучше исправить? Можно ли установить таймаут 230 раньше, т.е. до вызова базы(опций) ?

Подробнее здесь: https://stackoverflow.com/questions/764 ... 30-seconds
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»