powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / VPN, "Timeout expired" и UpdateCommand.CommandTimeout
2 сообщений из 2, страница 1 из 1
VPN, "Timeout expired" и UpdateCommand.CommandTimeout
    #37187576
topic starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

NET-приложение работает с MS SQL Server через ADO и Typed Dataset. Доступ через VPN.

Проблема: частенько в TableAdapter метод Update валится с ошибкой "Timeout expired".

Блокировки сервера вряд ли являются причиной, так как по вызову Update на сервере выполняется атомарная операция (единственный T-SQL оператор UPDATE), причем выполняется за считанные миллисекунды, а в UpdateCommand.CommandTimeout задано 60 секунд.

Увеличение UpdateCommand.CommandTimeout не помогает: "Timeout expired" все равно ловим регулярно. Остается грешить на неустойчивый VPN.

Пришла в голову идея сделать так: вызывать TableAdapter.Update с небольшим таймаутом - скажем, секунды 3. Но делать это в цикле, 10-20 раз, пока команда не выполнится успешно. Вопрос: эта идея - кривой велосипед и жуткий изврат, или имеет право на воплощение? Прошу сильно не ругаться, проект для меня новый, клиент-серверную систему впервые в жизни пишу.
...
Рейтинг: 0 / 0
VPN, "Timeout expired" и UpdateCommand.CommandTimeout
    #37190213
topic starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отвечу сам себе.

Сделал как и собирался - стал вызывать TableAdapter.Update в цикле, с небольшим комманд-таймаутом. Это немного улучшило ситуацию и число ошибок "Timeout expired" уменьшилось.

Также выяснилось, что проблемы были на серверной стороне: неправильный индекс на таблице + неоптимальный запрос. После их исправления, ошибка стала возникать раз в 20 реже, чем раньше.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / VPN, "Timeout expired" и UpdateCommand.CommandTimeout
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]