System.Diagnostics.Process не работает после публикации приложения MVC - PullRequest
0 голосов
/ 16 октября 2018

Мне нужно запустить exe по щелчку, поэтому я написал код ниже, и он работает, когда я запускаю его с Visual Studio.Однако, когда мы публикуем приложение, оно не работает на клиенте.

  public ActionResult ShowModuleApp(string modulePath)
        {
            var returnUrl = Request.UrlReferrer;
            try
            {
                Process process = Process.Start(Request.PhysicalApplicationPath + @"Uploads\" + modulePath);
                int exeId = process.Id;
                Process tempProc = Process.GetProcessById(exeId);
                process.EnableRaisingEvents = true;
                GeneralFunctions.AddTraceLog(Convert.ToString(exeId));

            }
            catch (Exception ex)
            {
                GeneralFunctions.AddTraceLog(ex.Message);
                return Redirect(returnUrl.AbsoluteUri);
            }

            return Redirect(returnUrl.AbsoluteUri);

        }

Я также следовал приведенным ниже инструкциям.

Чтобы настроить это, выполните следующие действия.а.Откройте панель управления и выполните следующие действия. Для Windows NT: щелкните «Службы».Для Windows 2000, Windows XP и .NET Server: нажмите Администрирование, а затем нажмите Службы.

b.Дважды щелкните IIS Admin Service.

c.На вкладке «Вход в систему» ​​установите флажок «Разрешить взаимодействие службы с рабочим столом».Не забудьте запустить IIS Admin Service как локальную систему.

d.Остановите и перезапустите службу IIS Admin.

Но она тоже не работает, я вижу Process Id, зарегистрированный в журналах трассировки.Это работает в фоновом режиме и не идет впереди, как я вижу, не прослеживается никаких исключений.

...