SQL Server Compact - 在应用崩溃时释放的数据库连接

本文关键字:释放 数据库连接 崩溃 应用 Server Compact SQL | 更新日期: 2023-09-27 18:31:01

我在WPF应用程序中使用SQL Server Compact Edition DB

我创建了一个与数据库的连接,并在应用程序的生命周期内保持打开状态 - 仅当应用程序退出事件触发时,连接才会关闭并释放。

如果应用崩溃会怎样?当应用程序进程停止时,连接会自动释放吗?

SQL Server Compact - 在应用崩溃时释放的数据库连接

将 UnhandeledException 处理程序添加到您的应用程序,并关闭那里的全局连接(如果它仍处于打开状态)。即使应用崩溃,当应用域关闭时,数据库连接也会喊"关闭",你可以通过使应用崩溃来进行测试,看看是否可以从文件资源管理器中删除数据库文件。

SQL Connection, FileStream ....是托管代码,但它们也使用非托管非托管资源,因此它们不受 GC 的直接控制。您需要确保释放这些对象。好的做法是使用 () 关键字,该关键字将在退出范围时调用 dispose。

如果不关闭这些资源,将出现内存泄漏。

不,当应用程序进程死亡时,连接不会自动释放。不建议长时间使用活动的数据库连接。当应用程序频繁访问数据库时,可以选择连接池。