我一直在使用SQLite.Net
forMonodroid
和Monotouch
,为了避免跨线程访问的问题,我使用此代码设置Serialized
模式。
SQLite.SQLite3.Shutdown();
SQLite.SQLite3.Config(SQLite.SQLite3.ConfigOption.Serialized);
SQLite.SQLite3.Initialize();
这确实阻止了任何问题(SIGSEVC
出现错误)。
我现在尝试将我的库代码移动到PCL
,所以使用oysteinkrog/SQLite.Net-PCL
但设置配置模式的选项似乎不再存在。搜索代码我发现在SQLite.Net.Interop.ISQLiteApi
以下行中。
// Result Config(ConfigOption option);
所以设置配置的能力没有实现。
现在,当我的后台线程从 Web 服务返回更新时,我再次SIGSEVC
在 Monodroid 上遇到错误。
数据库连接使用静态连接共享,所有数据库访问通过锁(对象)。
问题:
- 是否可以以某种方式将配置设置为序列化?
- 或者,我有没有更好的方法来定义我的连接和数据库访问以避免这个问题。