Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Process.Start()将my.exe作为后台进程MVC ASP.Net运行_C#_Asp.net Mvc_Asp.net Mvc 4_Process.start - Fatal编程技术网

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网页和服务器控制代码在Web服务器上ASP.NET工作进程的上下文中执行。如果在ASP.NET网页或服务器控件中使用Start方法,则新进程将在具有受限权限的Web服务器上执行。该过程不会在与客户端浏览器相同的上下文中启动,并且无法访问用户桌面


因此,该进程将运行服务器端,而不是客户端,并且它也将在ASP.Net工作进程(w3wp.exe)的用户配置文件中运行,这意味着除非您碰巧以交互方式登录到同一配置文件中,否则您将看不到进程窗口。

您是否100%文件目录正确该进程将在web服务器上运行,不是在用户的计算机上。是的,目录是正确的,并且说它是在浏览器中运行的,这不是我想要的。因此,有没有一种方法可以让它在桌面上作为普通exe运行?没有,它不是重复的,因为它根本不回答我的问题,因为我需要它在前台运行,除非你想说那是不可能的?我从你说的话中知道,它并不意味着可以访问用户桌面,但它是否不能被重新配置为在桌面端作为正常的exe运行?就好像我实际上是在从visual studio运行控制台应用程序一样?