Ich habe einen Prozess, der eine Datei in einem temporären Verzeichnis schreibt. Die Datei wird ohne gemeinsamen Lesezugriff geschrieben, so dass, wenn jemand versucht, diese Datei während des Schreibens zu lesen, IOException
geworfen wird, , was in Ordnung ist.Random UnauthorizedAccessException beim Lesen einer Datei in% temp%
In einigen seltenen Fällen scheint ich UnauthorizedAccessException
zu bekommen, während ich versuche, diese Datei zu lesen. Ich bin ziemlich sicher (aus den Logs), dass die Datei nicht geschrieben wird, aber ich kann keinen anderen Grund sehen, auf den ich keinen Zugriff hätte.
Der Prozess wird auch von einer Visual Studio-Erweiterung ausgeführt, was bedeutet, dass er die gleichen Berechtigungen wie der übergeordnete Prozess (Visual Studio selbst) hat.
Hier ist, wie ich versuche, die Datei zu öffnen:
new FileStream(cacheFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
Manchmal diese Linie wirft ein UnauthorizedAccessException
. Irgendwelche Ideen warum?
Vielleicht greift der Virenscanner auf diese Datei zu? – Steven
Vielleicht, aber wieder, UAE? Ich würde eine bloße IOException erwarten. –
http://www.codeproject.com/Questions/93239/System-UnauthorizedAccessException http://www.csharp-examples.net/filestream-open-file/ – SK2185