在ASP.NET Core和主线程类之间共享SQLite数据库

时间:2018-10-17 20:50:27

标签: c# sqlite asp.net-core .net-core background-service

我已经开始创建一个ASP.NET core应用程序,该应用程序处理API调用并将信息保存在sqlite数据库中。 当ASP.NET核心应用程序运行时,我还在Program.cs中启动FileSystemWatcher,以在将文件复制到特定目录中时得到通知。当检测到新文件时,我需要在与ASP.NET核心应用程序相同的sqlite数据库中修改信息。

所以目前, 1.我的ASP.NET应用程序将数据存储到sqlite数据库 2.从Program.cs启动FileSystemWatcher以检测文件 3.每次检测到文件时,都会向同样从Program.cs启动的singleton类中的BlockingCollection添加新任务。 4. BlockingCollection检测到新任务时,将处理文件并将一些新数据存储在sqlite数据库中

我遇到的主要问题是对数据库的并发访问。主进程上下文可以看到新创建的数据,但是在主进程dbcontext中看不到asp.net请求对现有实体所做的任何更新。

当前,我在主进程中使用相同的dbContext。我怀疑这不是这样做的方法

感谢大家阅读本文。

0 个答案:

没有答案