#asp.net-mvc-3 #command-line
#asp.net-mvc-3 #командная строка
Вопрос:
Мне было интересно, возможно ли запустить функцию командной строки на сервере через веб-приложение mvc.
Чтобы внести ясность:
Пользователь загружает пару файлов на сервер через веб-приложение mvc. Затем пользователь нажимает кнопку, и сервер запускает приложение командной строки.
Возможно ли это?
Заранее благодарю вас
ПРИМЕЧАНИЕ: Сервер установлен под управлением Windows 2008.
Ответ №1:
ДА. Предполагая, что у вас есть приложение командной строки (т. Е. ваше собственное консольное приложение), которое не требует взаимодействия с пользователем, вы можете попробовать следующее в вашем методе контроллера.
Process serverSideProcess = new Process();
serverSideProcess.StartInfo.FileName = @"C:pathToTheExe";
serverSideProcess.StartInfo.Arguments = "arg1 arg2 arg3";
serverSideProcess.EnableRaisingEvents = true;
serverSideProcess.StartInfo.UseShellExecute = true;
serverSideProcess.Start();
Следует обратить внимание на идентификатор учетной записи пользователя, которая будет выполнять этот процесс. По умолчанию это должно выполняться на стороне сервера с использованием учетных данных AppPool. Это может быть проблемой, если вам необходимо получить доступ к сетевым ресурсам. Один из способов просто преодолеть это — позволить AppPool запускаться под учетной записью пользователя, которому предоставлен доступ к этим ресурсам.
Комментарии:
1. Спасибо за возможный ответ
2. У меня точно такое же требование. Спасибо.