2017-02-08 3 views
0

Ich öffne eine CSV-Datei aus meiner C# -Anwendung mit einer FlaggePrevent Excel meine App verursacht mit Dateisperre Fehler zum Absturz

FileShare.Read 

zum Schreiben. Ich füge nur immer an die Datei an - ich versuche niemals einen zufälligen Zugriff. Wenn ich die Datei aus Excel öffne, während meine App noch läuft, gibt Excel eine erwartete "open read-only/notify" -Prompt. Wenn ich wählte ‚Notify‘, gelegentlich meine App nicht beim Versuch, eine neue Zeile in die Datei mit einem I angenommen

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

zu schreiben so dass andere Prozesse die Datei sicher ist, zu lesen, aber anscheinend nicht. Gibt es trotzdem eine Datei zum Lesen, während gleichzeitig verhindert wird, dass eine andere App die Datei sperrt (ich gehe davon aus, dass Excel versucht, die Datei zu kopieren, die die Sperre verursacht)? Ich nehme auch an, dass eine Sperre nur die Bytes zum Zeitpunkt der Kopie beeinflussen würde - also warum würde das Anhängen an die Datei das beeinflussen?

Antwort

0

Wenn Sie auf die Datei zugreifen, gibt es eine Markierung für eine pessimistische Sperre im Vergleich zu einer optimistischen Sperre.

Verwandte Themen