【发布时间】:2009-10-21 19:19:38
【问题描述】:
我们有一个内部页面,我想用它来运行更新服务器上某些文件的可执行文件。换句话说,不是每次我需要手动运行这个可执行文件时都登录到服务器,我想从浏览器运行它。可执行文件在服务器上是自包含的,不与用户交互。
这是我的代码:
try
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = Server.MapPath(@"\iPhoneXMLCreator.exe");
p.StartInfo.WorkingDirectory = Server.MapPath(@"\");
p.StartInfo.RedirectStandardOutput = false;
p.Start();
p.WaitForExit();
lblResult.Text = "Success!";
}
catch (Exception ex)
{
lblResult.Text = "Oops, there was a problem.<br><Br>" + ex.Message;
}
当我运行它时,该进程会显示在任务管理器中,但随后会在几秒钟内退出,而不会更新它应该更新的文件。没有要传递的参数,只是一个简单的可执行文件。有什么想法吗?
【问题讨论】:
-
好的,想通了。这是一个数据访问问题。 .exe 的 .config 文件包含无效的数据库连接字符串。为什么登录时它会起作用,我不确定,但它现在起作用了。
标签: c# asp.net executable