System.UnauthorizedAccessException: Access to the path is denied when using System.OI.FileStream
During a recent deployment to production environment we started to get System.UnauthorizedAccessException on places we hade not seen it before. After some debugging a pattern appeared. The problem is that if you don’t use the FileStream constructor with FileAccess parameter you will get FileAccess.ReadWrite selected by default. So in our cases the User account running our service did only have read access to the file with is correct since we are only expecting to read from the file.
using (FileStream fs = new FileStream(filePath, FileMode.Open)) { … } |
Make sure, you ask for what you really need. If your application needs only Read access to a file, make sure to specify that in your FileStream constructor.
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { … } |