我在从 asp.net 页面运行 cmd 或 exe 文件时遇到问题。
我使用了这段代码:
protected void btnRun_OnClick(object sender, EventArgs e)
{
var p = new Process();
var info = new ProcessStartInfo
{
FileName = Server.MapPath("~/print.cmd"),
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden,
};
p.StartInfo = info;
p.Start();
p.WaitForExit();
}
当我在 VS 开发服务器上运行我的 Web 应用程序时,一切正常, 但是当我在 IIS(7.5 版)上部署此代码时,代码可以正常工作但是 没有任何反应。
- 我使用 google 和 SO 进行搜索,但没有找到任何解决方案
- 我试过了 http://support.microsoft.com/kb/555134和 http://support.microsoft.com/default.aspx?scid=kb;en-us;317012
- 我为 IIS 管理服务设置了“允许服务与桌面交互”。
- 我试过用户权限,但这没有给我任何结果。
- 我更改了应用程序池的身份
是否可以在 IIS 中运行 cmd 或 exe?
最佳答案
尝试:
var info = new ProcessStartInfo
{
FileName = Server.MapPath("~/print.cmd"),
UseShellExecute = true,
Verb = "runas",
WindowStyle = ProcessWindowStyle.Hidden,
};
关于c# - 从 asp.net 页面运行 cmd 或 exe 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10862685/