我使用Windows Azure上的本地存儲來存儲臨時文件。在那裏,我調用一個.exe文件來轉換同一本地存儲文件夾中的其他幾個文件。問題是我總是得到異常「訪問路徑XYZ.exe被拒絕。」Windows Azure異常:「訪問路徑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);
}
UPDATE: 我現在有了這個代碼嘗試:
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文件轉換。
有人可以幫我嗎?
非常感謝。
SOLUTION:
如此看來,問題是,我跑了本地存儲中的.exe文件,因此必須給定的安全問題。將.exe加入應用程序並直接解決我的問題。
Thx尋求幫助。
我已經設置executionContext =「提升」,但也許問題是以下。我將ffmpeg.exe文件與我要轉換的文件一起直接下載到本地存儲中。這是exe文件在本地存儲內的問題嗎? – MUG4N