ASP页面的process.start,放置exe文件的位置

时间:2012-05-11 03:00:40

标签: c# asp.net .net

只是一个简单的问题,我在哪里放置我试图在ASP项目中启动的exe?它无法在bin文件夹中看到它。

4 个答案:

答案 0 :(得分:3)

您需要传递完整路径Process.Start

Process.Start(Server.MapPath("~/bin/whatever.exe"));

但是,~/bin/适用于.Net程序集;将外部EXE放在~/App_Data/中通常会更好。

请注意,您只能在服务器上执行程序,而不能在客户端执行。

答案 1 :(得分:1)

请记住,您的网站正在服务器上运行,因此如果您封装任何内容(ASP.Net应用程序中的Process.Start),它将在服务器上打开 - 而不是客户端PC。

请确保在生产中测试此内容以及在服务器上执行shell进程时(我不建议)不要忘记关闭它们,否则最终会在服务器上出现奇怪的错误。

答案 2 :(得分:1)

避免安全问题和多个进程并行运行。从asp页面我宁愿在一些表中排队进程启动请求,而不是像后台的windows服务那样从队列中取出并执行。

答案 3 :(得分:0)

Path.Combine(Server.MapPath(Request.ApplicationPath), "PathToExeFromWWWRoot");