我必須從我們的內部網站運行一個工具。用戶將從用戶界面提供的輸入很少,然後我想用用戶憑證運行該工具。當我從本地機器運行它時,我的代碼工作正常,但是當我將它部署到生產服務器並嘗試從該服務器執行它時,它不會啓動任何內容。未從生產Web服務器運行的應用程序
這是我的代碼,任何意見將不勝感激。
System.Diagnostics.ProcessStartInfo PSI = new System.Diagnostics.ProcessStartInfo(@"D:\run.bat");
PSI.UserName = "username";
PSI.Domain = "domain";
System.Security.SecureString securePwd = new System.Security.SecureString();
string password = "password";
foreach (char c in password)
{
// Append the character to the password.
securePwd.AppendChar(c);
}
PSI.Password = securePwd;
PSI.UseShellExecute = false;
process.StartInfo = PSI;
PSI.Arguments = SiteId.Text + " " + WebServiceUrl.Text + " " +LogFile.Text;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
這可能聽起來很愚蠢,但是你確定你已經在服務器上部署了'run.bat'(並且該服務器也有一個D:\驅動器)? – SirViver 2011-05-14 21:58:40
還是權限? – 2011-05-14 22:01:03
是的run.bat在該位置可用。當我登錄到該服務器後手動運行它時,它工作正常。 – 2011-05-14 22:02:50