在工作中構建ASP.NET MVC3應用程序,並試圖使用必須通過命令提示符啓動並傳遞參數的程序。允許IIS運行cmd命令
目前我得到...
System.ComponentModel.Win32Exception (0x80004005): Access is denied
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
這是隻需要在網站的一個部分,我不知道什麼是最好的處理辦法是,允許IIS(6)來完成此同時保持安全。
我不認爲這是相關的,但萬一這裏是我使用啓動一言以蔽之的Process()
try {
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\pdftohtml\pdftohtml.exe";
startInfo.Arguments = "-c " + NewsletterPath + @"\" + fileName + ".pdf";
Process.Start(startInfo);
} catch(Exception ex) {
return ex.ToString();
}
問題的代碼:
什麼是最好的方式允許IIS6啓動一個需要在維護安全性時通過命令提示符傳遞參數的新進程?
作爲一個方面說明:最好找到一個不會強迫你產生新進程的庫。你期望有多少個併發用戶? –
此過程只能從內部用戶(或兩個)訪問。它只會每月使用一次(最多)。基本上我們有一個人把一個通訊放在一起,我厭倦了所有的轉換,所以我給她的網絡訪問,並告訴她如何去做...... :)基本上我很懶惰 – Jared
我明白。但請注意,這種「懶惰」可能會導致服務器安全性的降低。任何以ASPNET身份運行的web worker現在都可以訪問該文件夾。 –