Как получить доступ к файлу, который является частью развертывания в веб-роли Azure
У нас есть служба WCF, которую мы развертываем на серверах наших клиентов, и сейчас мы создаем веб-роль, которая позволит нам запускать ту же службу в Azure. Проблема в том, что в сервисном проекте есть папка img, в которой мы храним пару изображений, используемых при отсутствии файлов или в качестве логотипа. Когда наш сервис попытается присвоить этот файл этой строкой кода
File.Open(StoragePath, FileMode.Open);
мы получаем следующее исключение:
System.UnauthorizedAccessException: Access to the path 'E:\sitesroot\0\bin\img\delficertwarning.tif' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
Кто-нибудь знает, как заставить это работать?
1 ответ
Оказывается, вы должны указать, что вы собираетесь использовать только открытый файл для чтения:
File.Open(StoragePath, FileMode.Open, FileAccess.Read, FileShare.Read);