只是一个简单的问题,我应该将我试图在 ASP 项目中启动的 exe 放在哪里?它无法在 bin 文件夹中看到它。
问问题
368 次
4 回答
3
您需要将完整路径传递给Process.Start
:
Process.Start(Server.MapPath("~/bin/whatever.exe"));
但是,~/bin/
适用于 .Net 程序集;通常最好将外部 EXE 放入~/App_Data/
.
请注意,您只能在服务器上执行程序,而不能在客户端上执行。
于 2012-05-11T03:02:29.063 回答
1
避免安全问题和多个进程并行运行。从asp页面我宁愿在某个表中排队请求进程启动,而不是让其他进程(如后台Windows服务)从队列中提取并执行。
于 2012-05-11T04:14:31.863 回答
1
请记住,您的网站是在服务器上运行的,因此如果您对任何内容(ASP.Net 应用程序中的 Process.Start)进行外壳操作,它将在服务器上打开,而不是在客户端 PC 上打开。
确保您在生产环境中进行测试,并且当您在服务器上执行 shell 进程时(我不建议这样做),不要忘记关闭它们,否则您最终会在服务器上出现奇怪的错误。
于 2012-05-11T03:02:21.280 回答
0
Path.Combine(Server.MapPath(Request.ApplicationPath), "PathToExeFromWWWRoot");
于 2012-05-11T03:08:27.957 回答