2016-03-11 108 views
0

我想改變的是我的IIS運行其他應用程序在我的IIS 7上運行的應用程序的物理路徑。我試圖通過appcmd.exe來做到這一點。然而,這似乎是不可能的,因爲缺少從asp.net應用程序的授權。更改IIS 7應用程序的物理路徑編程

這基本上是我想要做的

private static string Execute(string IISAppName, string NewIISPath) 
    { 
     var winPath = Environment.GetFolderPath(Environment.SpecialFolder.Windows); 
     var appcmdPath = Path.Combine(winPath, "system32", "inetsrv/appcmd.exe"); 

     var arg = "set app /app.name:\"" + IISAppName + "\" /[path='/'].physicalPath:" + NewIISPath; 

     ProcessStartInfo startInfo = new ProcessStartInfo(appcmdPath, arg) 
     { 
      WindowStyle = ProcessWindowStyle.Hidden, 
      RedirectStandardOutput = true, 
      UseShellExecute = false, 
      CreateNoWindow = true 
     }; 

     Process process = Process.Start(startInfo); 
     var textResult = process.StandardOutput.ReadToEnd(); 
     process.WaitForExit(); 
     return textResult; 
    }  

textResult是一個空字符串。

任何想法?

回答

0

的程序池的ASP.NET網站將必須被配置爲與執行該腳本箱管理員權限的用戶運行。在幾乎所有情況下,這是出於安全原因,一個壞主意。

相關問題