2011-09-27 30 views
2

我使用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尋求幫助。

回答

3

默認情況下,您的工作角色很可能不會以足夠的權限運行,以允許更改Azure文件夾上的訪問控制列表。

有兩個可能的選擇:

<WebRole name="WebApplication2"> 
    <Runtime executionContext="elevated" /> 
    <Sites> 

然而,我真的不建議這麼說,因爲這是公共雲中運行的某個安全漏洞。

+0

我已經設置executionContext =「提升」,但也許問題是以下。我將ffmpeg.exe文件與我要轉換的文件一起直接下載到本地存儲中。這是exe文件在本地存儲內的問題嗎? – MUG4N