Как запустить серверное приложение через ASP.Net (C # или VB)

#c# #asp.net #vb.net

#c# #asp.net #vb.net

Вопрос:

Я хотел создать интерфейсную веб-страницу, чтобы я мог удаленно запускать и останавливать различные программы на моем сервере. Я знаю, что оболочка откроет что-то локально, но как я могу создать ASP.Net страница, которая активирует программы на стороне сервера? Поиск в Google дал мне метод «Shell», но я не думаю, что это работает на стороне сервера. Есть идеи?

Комментарии:

1. Проверьте запустите внешнюю программу с ASP.NET на веб-сервере IIS

Ответ №1:

Взгляните на систему.Диагностика.Класс процесса. Это может позволить вам запускать и останавливать исполняемый файл на сервере.

Однако вам пришлось бы выдавать себя за учетную запись, обладающую достаточными привилегиями для запуска приложения. Вы можете использовать UserName и Password свойства системы.Диагностика. Объект ProcessStartInfo, который вы передаете Process.Start .

Редактировать

Для примера вы могли бы сделать следующее:

 var startInfo = new ProcessStartInfo("C:MyServerApp.exe", "/A /B /C");
startInfo.UserName = "LocalUser";
// It's a bad idea to hard code the password in the app, this is just an example
startInfo.Password = "SomePass";

var process = Process.Start(startInfo);

// Not a good idea to wait in a web app, but you can until the process completes
process.WaitForExit();
  

Комментарии:

1. Можете ли вы показать мне пример? На странице MSDN, на которую вы ссылались, не отображаются свойства имени пользователя или пароля

2. Свойства имени пользователя и пароля находятся в объекте ProcessStartInfo. Они находятся в разделе Свойств второй ссылки. Однако я добавлю краткий пример.