Я использую lucence.net, который создает файл как «блокировку».Из того, что я могу сказать, он просто создает файл для записи, и если он не может, БД заблокирована.Я получаю исключение ниже
Я вызываю lucence_init () за исключением того, что это происходит один раз.Я вызываю его в Application_Start после того, как установил текущую рабочую папку и другие вещи.
Я не могу сказать, когда это произойдет, но я знаю, что это происходит только тогда, когда я нажимаю F5 в визуальных студиях.И это (очевидно) никогда не происходит в первый раз.Я думаю , что это происходит, когда я получаю исключение, нажимаю "Стоп", исправляю и пытаюсь запустить код.Мне нужно использовать значок на панели задач, чтобы остановить веб-сервер VS и перезапустить код (иногда вручную удаляя файл блокировки, но теперь у меня есть визуальные студии, которые делают это как событие после сборки. Что странно, возможно, мне эта часть не нужна)
В любом случае из-за этой проблемы инициализации мой другой код не запускается из-за исключения записи, и я не могу изменить порядок и не хочу программировать вокруг него, так как я могу решить эту проблему, чтобы он был менее раздражающим для отладки этоговеб-приложение?
Lock obtain timed out: NativeFSLock@c:\dev\prj\...\App_Data\LuceneIndex_a\write.lock: System.IO.IOException: The process cannot access the file 'c:\dev\prj\...\App_Data\LuceneIndex_a\write.lock' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at Lucene.Net.Store.NativeFSLock.Obtain()