c# – System.Data.SQLite for .NET中的Serealized模式

我正在使用一个使用SQLite的.NET应用程序.根据SQLite
documentation,它支持多线程,可以使用以下3种模式之一

>单线程.在此模式下,所有互斥锁都被禁用,并且SQLite一次不能在多个线程中使用.
>多线程.在这种模式下,只要在两个或多个线程中不同时使用单个数据库连接,SQLite就可以被多个线程安全地使用.
>序列化.在序列化模式下,SQLite可以被多个线程安全地使用而没有任何限制.

根据这些模式,我试图使用Serialized,我在多个任务之间共享单个连接.但我得到的错误是“由于对象的当前状态,操作无效”.

我想这是因为跨任务共享单个连接.但是根据Serialized模式,我应该能够在不进行任何显式锁定或互斥实现的情况下共享连接.
任何人都可以指导我如何在.net应用程序中使用序列化模式吗?是否需要以某种方式提及连接字符串?

提前致谢 !

最佳答案 Serialized是默认模式.不要再次关闭打开的连接而是在每个地方使用相同的单个连接而不需要关闭它. SQLite将负责休息.希望这可以帮助.

点赞