Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка под ASP.NET > Старт програм/процессов на веб-сервере удалённо |
Автор: #Sage 23.10.2006, 14:44 |
Всем привет! Собственно сама идея: есть веб-сайт, на странице сайта есть кнопка. Хочется чтоб по нажатию на эту кнопку запускался на сервере, например, notepad.exe. Я нашёл метод Process.Start(), но процесс создаётся в контексте web-сервера. Т.е. процесс запускается, но то же окно, например, notepad.exe не появляется. Есть ли какая-то возможность запустить процесс на сервере через веб страницу чтоб этот процесс запускался как будто кто-то вызвал его локально на веб сервере. (проще говоря, я нажимаю кнопку на веб-странице в browser'e, которая запускает notepad.exe и на сервере открывается notepad) |
Автор: Дрон 23.10.2006, 15:44 | ||
Дано: сейчас notepad запускается от имени некоторого пользователя, используемого asp.net'ом, ты же хочешь запустить его от имени интерактивного пользователя. Вся загвоздка в том, что ты не учитываешь, что в общем случае их (интерактивных пользователей) может быть несколько или, что встречается чаще, не быть вообще. Посему задачу в данной формулировке можно считать бессмысленной. Но решение есть: использовать всё тот же Process.Start с указанием логина и пароля пользователя, от имени которого ты хочешь запустить процесс ![]() |
Автор: #Sage 23.10.2006, 23:53 |
ivashkanet, Notepad - это пример. Я вобще-то об этом написал. Дрон, Спасибо! Обзятельно попробую, надеюсь больше у меня вопросов не будет ![]() |
Автор: ivashkanet 24.10.2006, 09:07 |
Хорошо, а так: А толку от того что на сервере запустился "notepad"? |
Автор: #Sage 26.10.2006, 20:26 |
Нет, чего-то не получается ![]() |
Автор: Djuffin 27.10.2006, 00:00 | ||
Тут правда запускалась консольная утилита. Но я думаю это тебе все же может пригодиться. |
Автор: Alexsar 4.10.2008, 22:15 |
Тут возникла такая же проблема, надо запускать процесс на сервере. От имени зарегестрированного пользователя запускать не удаётся, пишет что приложение выполнело недопустимую операцию и будет закрыто. Так что предложил Djuffin не прокатило. Перевоплащение тоже не решило проблему, приложение сразу вылетает, как и в предыдущем случае. В справке мсдн на счёт запуска процессов вот что пишут: ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. The process does not start in the same context as the client browser, and does not have access to the user desktop. Похоже, запускать можно только в контексте ASP. Вопрос, может вообще не реально запустить процесс от имени зарегестрированного пользователя винды(не ASP)? Или кто то всё же нашаманил и смог запустить? ![]() Ждём ответов ![]() |