【发布时间】:2011-08-05 13:18:23
【问题描述】:
如何使用 ASP.NET 和 IIS7 在 Windows 2008 上执行 EXE 文件?我试图在下面运行代码,但它似乎不起作用。代码执行没有任何错误,但我没有在进程列表中看到记事本。如果我使用 ASP.NET 开发人员服务器但不使用 IIS7,一切正常。
string enginePath = "notepad";
var password = new System.Security.SecureString();
foreach (char character in ConfigurationManager.AppSettings["Credentials"])
password.AppendChar(character);
var p = new Process
{
StartInfo =
{
FileName = enginePath,
UseShellExecute = false,
}
};
p.StartInfo.UserName = "Administrator";
p.StartInfo.Password = password;
p.Start();
【问题讨论】:
-
我真的希望您不要将服务器管理员密码保存在 web.config 文件中。
-
是的,我保留,但这只是测试项目。我需要让 exe 执行工作。如果它可以使用管理员密码,我会更进一步并使用另一个帐户。
-
@sgmeyer 他检查了进程的进程列表 - 即使它不可见,它也会在那里。此外,他试图在服务器上运行它,而不是客户端。
-
@Tomas 如果您打印出
p.ID值(即 PID),您会得到什么。这是否与进程资源管理器中的任何内容相匹配?您是否在任务管理器中单击了“显示所有用户的进程”?您是否尝试过使用进程资源管理器而不是任务管理器?
标签: c# asp.net windows permissions