Wie wird ein FileStream zum Anhängen an eine Datei ohne eine exklusive Sperre?
Was ich versuche zu tun, mit FileStream
in C#/.NET ist zum öffnen von zwei strömen: einem Anhängen an eine Datei und das andere Lesen Schreibvorgänge asynchron (für unit-Tests einige Netzwerk-Verbindung-handling-code). Ich kann nicht herausfinden, wie man die Schriftsteller stream die Datei zu öffnen, die in nicht-exklusiven sperren Modus und somit der code wirft immer eine exception:
Der Prozess kann nicht auf die Datei zugreifen
'C:\test.txt" weil es verwendet wird
von einem anderen Prozess.
Hier ein paar Brocken von code veranschaulicht das Problem:
FileStream fwriter = new FileStream("C:\\test.txt", FileMode.Append,
FileAccess.Write, FileShare.Read);
FileStream freader = new FileStream("C:\\test.txt", FileMode.Open,
FileAccess.Read, FileShare.Read);
InformationsquelleAutor Neil C. Obremski | 2008-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Siehe diese Frage: C# file read/write fileshare scheint nicht zu funktionieren
Kurz, Ihren freader angeben, FileShare.Schreiben zu ermöglichen, für die Tatsache, dass bereits ein Schriftsteller auf die Datei.
InformationsquelleAutor Rob Walker
Ich bin nicht sicher, ob es hilft, aber wenn Sie nur unit-Tests, wäre es nicht einfacher, einen memory-stream statt der Dateien?
InformationsquelleAutor Grzenio