Не удается создать дочерний процесс из ASP.Net - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь создать новый процесс в ASP.Net для входящего запроса. Новый процесс не выполняется. Он даже не выдает ошибку в событии ErrorDataReceived. Тем не менее, в то же время, если я предоставлю учетные данные явно, он работает нормально. Я предоставляю те же учетные данные, которые я настроил в пуле приложений.

Еще одно наблюдение: выполнение дочернего процесса завершается неудачно, только если это приложение на основе консоли, то есть systeminfo и т. Д. Однако, оно работает нормально, если это приложение WinForm, то есть calc.exe. Конечно, я не вижу калькулятор на экране, но я вижу дочерний процесс calc.exe в w3wp.exe в ProcessExplorer.

Рабочий пример кода -

var startInfo = new ProcessStartInfo(cmd)
{
     RedirectStandardError = true,
     RedirectStandardOutput = true,
     UseShellExecute = false,
     Arguments = arguments,
     Domain = "mydomain",
     UserName = "appPoolUser",
};
startInfo.Password = new SecureString();
foreach (char ps in password)
  startInfo.Password.AppendChar(ps);

var process = new Process()
{
    StartInfo = startInfo,
    EnableRaisingEvents = true
};
process.Start();

Если я удалю учетные данные, они не будут работать.

Итак, почему процесс не выполняется с использованием токена родительского процесса, где в то же время он работает нормально, если мы предоставляем те же учетные данные, которые мы настроили в родительском процессе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...