Совместное использование базы данных SQLite между ASP.NET Core и классами основных потоков - PullRequest
0 голосов
/ 17 октября 2018

Я начал создавать основное приложение ASP.NET, которое обрабатывает вызовы API и сохраняет информацию в базе данных sqlite.Во время работы основного приложения ASP.NET я также запускаю в Program.cs FileSystemWatcher, чтобы получать уведомления при копировании файлов в определенный каталог.При обнаружении нового файла мне нужно изменить информацию в той же базе данных sqlite, что и основное приложение ASP.NET.

Итак, в настоящее время 1. мое приложение ASP.NET хранит данные в базе данных sqlite 2.FileSystemWatcher запускается из Program.cs для обнаружения файлов 3. Каждый раз, когда файл обнаруживается, он добавляет новую задачу к BlockingCollection в одноэлементном классе, также запускаемом из Program.cs 4. Когда новая задача обнаруживается BlockingCollection,файл обрабатывается, и некоторые новые данные сохраняются в базе данных sqlite

Основная проблема, с которой я сталкиваюсь, - это одновременный доступ к базе данных.Вновь созданные данные видны в контексте основного процесса, но небольшие обновления существующих сущностей, сделанные запросами asp.net, не видны в моем основном процессе dbcontext.

В настоящее время я использую тот же самый dbContext для моего основного процесса.Я подозреваю, что это не способ сделать это

Спасибо вам, ребята, за ваше время, прочитав это.

...