Я использую локальное хранилище в Windows Azure для хранения временных файлов.Там я вызываю файл .exe для преобразования нескольких других файлов в одну и ту же папку локального хранилища.Проблема в том, что я всегда получаю исключение «Доступ к пути XYZ.exe запрещен».
Я должен упомянуть следующее: - Я использую рабочую роль - установите в файле определения службы
и попытался добавить разрешение к папке, к которой я обращаюсь:
public static void AddPermission(string absoluteFolderPath)
{
DirectoryInfo myDirectoryInfo = new DirectoryInfo(absoluteFolderPath);
DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(
"NETWORK SERVICE",
FileSystemRights.FullControl,
AccessControlType.Allow));
myDirectoryInfo.SetAccessControl(myDirectorySecurity);
}
ОБНОВЛЕНИЕ: Я пытался с этим кодом сейчас:
public static void FixPermissions()
{
var tempDirectory = RoleEnvironment.GetLocalResource("localStorage").RootPath;
Helper.addPermission(tempDirectory);
var dir = new DirectoryInfo(tempDirectory);
foreach (var d in dir.GetDirectories())
Helper.addPermission(d.FullName);
}
private static void addPermission(string path)
{
FileSystemAccessRule everyoneFileSystemAccessRule = new FileSystemAccessRule("Everyone",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None, AccessControlType.Allow);
DirectoryInfo directoryInfo = new DirectoryInfo(path);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
directorySecurity.AddAccessRule(everyoneFileSystemAccessRule);
directoryInfo.SetAccessControl(directorySecurity);
}
Я получаюдействительно странное поведение страницы.Я все еще получаю ошибки, но иногда некоторые файлы преобразуются в файл ffmpeg.exe.
Может ли кто-нибудь помочь мне здесь ??
Большое спасибо.
РЕШЕНИЕ:
Кажется, проблема заключалась в том, чтоЯ запустил файл .exe в локальном хранилище и поэтому имел определенные проблемы с безопасностью.Вставка .exe в приложение и обращение напрямую решило мою проблему.
Спасибо за помощь.