Истек тайм-аут выполнения .Net Framwork Web App

#sql-server #.net-framework-4.8

#sql-сервер #.net-4.8

Вопрос:

Я пытаюсь выполнить запрос к базе данных SQL Server из веб-приложения, и через 30 секунд я получаю следующую ошибку:

Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Я знаю, что время выполнения по умолчанию составляет 30 секунд, но я пытался изменить время ожидания в нескольких местах. В строке подключения к веб-приложению у меня есть:

Timeout=300;connection lifetime=5;

Веб-приложение использует DLL, которая подключается к базе данных для выполнения запросов, и когда я выполняю команду в DLL, у меня есть:

Comm.CommandTimeout = 5 * 60;

Я не уверен, что я делаю не так, поскольку я уже некоторое время изучал эту проблему и, похоже, не могу понять, где я ошибаюсь. Есть идеи?

Комментарии:

1. Тайм-аут команды должен быть установлен с помощью SqlCommand.CommandTimeout свойства, а не строки подключения. Тем не менее, 30 секунд могут быть большим временем для веб-приложения. Возможно, настройка запроса / индекса является лучшим решением, чем увеличение времени выполнения команды.

2. @DanGuzman Я устанавливаю его, с Comm.CommandTimeout = 5 * 60; помощью которого обрабатывается DLL. Это на 5 минут, так как это большой запрос, но он все равно истекает через 30 секунд, запрос в SSMS обычно занимает 43 секунды.