C# Process.Start()将my.exe作为后台进程MVC ASP.Net运行
首先,我查看了网络,试图找到答案,但我只遇到过希望在后台运行流程的人,而我这里的问题正好相反 我已在我的控制器上输入以下代码,点击按钮时启动该过程:C# Process.Start()将my.exe作为后台进程MVC ASP.Net运行,c#,asp.net-mvc,asp.net-mvc-4,process.start,C#,Asp.net Mvc,Asp.net Mvc 4,Process.start,首先,我查看了网络,试图找到答案,但我只遇到过希望在后台运行流程的人,而我这里的问题正好相反 我已在我的控制器上输入以下代码,点击按钮时启动该过程: string fileLocation = @"C:\somefolder\anotherFolder\...\application.exe"; ProcessStartInfo oStartInfo = new ProcessStartInfo(); oStartInfo.FileName = fileLocat
string fileLocation = @"C:\somefolder\anotherFolder\...\application.exe";
ProcessStartInfo oStartInfo = new ProcessStartInfo();
oStartInfo.FileName = fileLocation;
oStartInfo.UseShellExecute = false;
oStartInfo.CreateNoWindow = true;
oStartInfo.WindowStyle = ProcessWindowStyle.Normal;
oStartInfo.CreateNoWindow = false;
var process = new Process { StartInfo = oStartInfo, EnableRaisingEvents = true };
process.Start();
现在我已经运行了代码,它正在执行exe,或者在我打开任务管理器时会出现。但我似乎无法让它在前台执行,这样用户就可以做他们需要做的事情
*额外信息
- 每当我在运行后尝试重建时,都会出现问题,因为exe与项目的web部件位于同一个解决方案中,但问题是我必须转到任务管理器并终止进程,否则它无法访问.exe——这是我需要在前台运行它的另一个主要原因
- Visual Studio 2013 Express for web
- 实体框架
- MVC Asp.NETWeb项目
因此,该进程将运行服务器端,而不是客户端,并且它也将在ASP.Net工作进程(w3wp.exe)的用户配置文件中运行,这意味着除非您碰巧以交互方式登录到同一配置文件中,否则您将看不到进程窗口。您是否100%文件目录正确该进程将在web服务器上运行,不是在用户的计算机上。是的,目录是正确的,并且说它是在浏览器中运行的,这不是我想要的。因此,有没有一种方法可以让它在桌面上作为普通exe运行?没有,它不是重复的,因为它根本不回答我的问题,因为我需要它在前台运行,除非你想说那是不可能的?我从你说的话中知道,它并不意味着可以访问用户桌面,但它是否不能被重新配置为在桌面端作为正常的exe运行?就好像我实际上是在从visual studio运行控制台应用程序一样?