Это то, что мне всегда было интересно… не так ли?
Потому что всякий раз, когда я пишу код для использования соединения с БД, я всегда каким-то образом должен быть закрыт перед тем, как перейти к следующему этапу.*
Но когда у меня есть ChildWindow, который открывает соединение в его конструкторе и не закрывает его, пока он не нажмет кнопку «Сохранить» или кнопку «Отмена».Тогда, если все Приложение будет закрыто, соединение БД будет закрыто мгновенно?Или он должен ждать тайм-аут и автоматически закрыться?
РЕДАКТИРОВАТЬ:
Поэтому я пытаюсь сохранить активное соединение для регистрации всех ошибок в моем приложении:
public App()
{
ErrorHelper errorHelper = new ErrorHelper(); // Will open DB connection
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(currentDomain_UnhandledException);
}
/// <summary>
/// For catch all exception and put them into log
/// </summary>
void currentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
errorHelper.WriteError(e.ExceptionObject as Exception);
}
Потому что мне не нравится, как я открываю соединение каждый раз, когда регистрирую одну ошибку, поэтому я хочу держать соединение открытым все время.Это похоже на ОП, который я описал.В этой ситуации он постоянно держит соединение открытым.Но закроется ли соединение с БД сразу после его выхода?