2017-02-08 9 views
0

открыть файл CSV изнутри моего приложения C# для записи с флагомПредотвратить Excel от чего мое приложение к сбою с ошибкой блокировки файла

FileShare.Read 

. Я только добавляю к файлу - я никогда не пытаюсь получить произвольный доступ. Если я открою файл из Excel, пока мое приложение все еще работает, Excel дает мне ожидаемое приглашение «открыто для чтения/уведомления». Если я выбрал «Notify», иногда мое приложение не удается при попытке написать новую строку в файл с

0x21 error - "The process cannot access the file because another process has locked a portion of the file." 

я предположил, позволяя другим процессам читать файл был безопасным, но, по-видимому, нет. Есть ли все равно, чтобы поделиться файлом для чтения и в то же время предотвратить блокирование другого приложения (я предполагаю, что Excel пытается скопировать файл, вызывающий блокировку)? Я также предполагаю, что блокировка повлияет только на байты во время копирования - так почему бы добавить к этому файл?

ответ

0

Когда вы получаете доступ к файлу, есть флаг для пессимистической блокировки и оптимистической блокировки.