#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. Они находятся в разделе Свойств второй ссылки. Однако я добавлю краткий пример.