Я вызываю хранимую процедуру через Linq-to-SQL. Эта хранимая процедура просто обрабатывает данные, которые я уже вставил в другую таблицу. На больших наборах данных я получаю исключение тайм-аута:
"Timeout expired. The timeout period elapsed prior to completion of the operation
or the server is not responding."
Я не могу ничего сделать, чтобы ускорить хранимую процедуру - это просто перемещение данных из одной таблицы в другую. Я не особо хочу увеличивать время ожидания в строке подключения к базе данных - это единственное, что занимает много времени.
Это не веб-приложение; хранимая процедура вызывается из фонового потока в обычной службе Windows. Фоновый поток запускается вызовом WCF, и клиент периодически запрашивает результат фонового потока.
К сожалению, хранимая процедура занимает слишком много времени, и вызов GetDataContext().spRunStoredProcedure()
выдает TimeoutException
, хотя хранимая процедура работает нормально.
Можно ли увеличить время ожидания только для этого вызова хранимой процедуры? Или есть способ заставить хранимую процедуру возвращать «Я еще не умер», чтобы предотвратить тайм-аут соединения?