1

System.Data.SQLite用来存储程序的数据和设置(在 WPF 功能区应用程序中)。

当您打开程序时,它会提示您选择要打开的 SQLite 数据库,然后它会从 SQLite 数据库的设置表中读取几个设置(项目名称、上次打开时间等)。
当应用程序关闭时RibbonWindow.Closing,它会调用SQLiteConnection.Close().

用户还可以关闭数据库并打开一个新数据库。

出于某种原因,这些设置有时可能需要几秒钟才能显示在项目信息视图中。如果用户在此过程中单击应用程序关闭按钮或关闭项目文件以允许他们打开另一个文件,InvalidOperationException则会抛出 an 消息Database is not open

在程序关闭时中断每个操作的最佳方法是什么。

4

1 回答 1

2

要在 SqlLitepooling = true;中打开连接池,请输入连接字符串。这是一个 ADO.Net 工具,与后端无关。

如果您使用它,而不是将连接传递给线程,而是传递连接参数。然后每个线程将管理它自己的连接。

如果你不想那样做。然后你有选择。

等到线程在循环中完成,除非它们很短,否则有点废话。

忙,稍后再试。哼哼,用户可能会给你的应用程序三指敬礼,然后无论如何都要杀死它。

杀死线程,呃!

获取线程以创建它自己的非池连接,然后处理它。注意:如果您不遗余力地创建连接,您可能会使 DBMS 过载。

添加一个布尔属性,在关闭连接时设置它。除非未设置,否则请勿关闭连接。

所以尝试连接池,然后。

于 2012-06-19T22:51:11.030 回答