Оставить ли Win Win форму подключения к локальной БД открытой? - PullRequest
0 голосов
/ 18 января 2010

Прежде всего, я понимаю, почему рекомендуется закрывать соединения с базой данных сервера как можно скорее.

Я разрабатываю программу, которая будет содержать локальную базу данных (5 таблиц ~ 200 столбцов), она может вырасти до нескольких тысяч строк (поэтому сомневаюсь, что это будет слишком много накладных расходов). Моей первой мыслью было сохранить локальное соединение с БД до закрытия программы.

Не могли бы вы подтвердить, будет ли это нормально, или выделить причины, по которым я бы не хотел этого делать?

Ответы [ 3 ]

1 голос
/ 18 января 2010

ADO.NET в сочетании с большинством механизмов баз данных по умолчанию обеспечивает автоматический пул соединений в фоновом режиме. Нет необходимости держать соединение открытым, так как ADO.NET все равно сделает это за вас и вернет его, когда вы снова откроете его. Просто закройте его, о чем беспокоиться.

0 голосов
/ 18 января 2010

@ Fredrik Да, это будет однопользовательское соединение с localDB в их профиле. Единственная причина, по которой я думал держать его открытым, - это избегать возможных исключений при повторном подключении, но я думаю, что отклик пула подключений суммирует его, поэтому я рад идти вперед и закрываться после завершения.

@ DrJokepu Приветствия

0 голосов
/ 18 января 2010

Есть ли какая-то особая причина, по которой вы хотите оставить соединение открытым? Чего вы хотите достичь, делая это?

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

Я бы сказал; придерживайтесь рекомендуемой практики, если у вас нет действительно хороших причин не делать этого.

...