2015-08-08 2 views
0

Я не могу выполнить следующее из веб-приложения asp.net. System.Diagnostics.Process.Start ("Notepad.exe");System.Diagnostics.Process.Start ("Notepad.exe"); не работает на реальном сервере

Проект строится без ошибок, и он отлично работает на месте. На реальном сервере это просто время. Я потратил несколько часов на изучение этого онлайн, только чтобы найти, что есть другие, которые имели ту же проблему. До сих пор для меня ничего не работало. Большинство ответов, похоже, предлагают посмотреть разрешения. Наш ИТ-директор не знает, как решить эту проблему.

+7

Какое возможное использование клиент может открыть блокнот на сервере? Вы не ожидали, что он откроется на клиенте, не так ли? Сервисы не могут взаимодействовать с рабочим столом в Windows, поэтому ваш веб-сервер никогда не откроет пользовательский интерфейс блокнота ... Учитывая все это, я думаю, что этот вопрос бессмыслен. (Он работает локально, потому что, по всей вероятности, вы используете сервер dev как администратор в сеансе пользователя ... совсем другая среда) – spender

+0

spender: вы можете предоставить клиентам доступ к исполняемым файлам на сервере. Вы должны создать учетную запись группы, чтобы разрешить доступ, и установить учетные данные в исполняемом файле, чтобы разрешить групповую учетную запись. Это должно быть сделано в ограниченных случаях, потому что вы не хотите, чтобы злоумышленники попадали на сервер. – jdweng

+0

@jdweng Конечно, но вы никогда не увидите пользовательский интерфейс для рабочего стола, запущенный из службы. [Это просто не разрешено] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms683502%28v=vs.85%29.aspx). – spender

ответ

0

Возможно, вы используете локальное веб-приложение на IIS Express. Это означает, что что-то вроде открытия «Блокнота» может работать, поскольку оно работает под вашей учетной записью на вашем сеансе.

Однако, работает на полную IIS полностью другая вещь, как показано в моем блоге,

https://blog.lextudio.com/2015/04/web-application-differences-in-visual-studio-and-iis/

Даже если Notepad открывается таким образом, что в сессии 0 на стороне сервера IIS , и вы не видите этого.

Если вы попытаетесь открыть Блокнот в JavaScript на стороне клиента, вам также может быть запрещено делать это, так как браузеры запускают веб-приложения на стороне клиента в песочницах, что устраняет доступ к ресурсам операционной системы.

Обычно только веб-приложения, которые исследуют дыры в безопасности в веб-браузерах, могут запускать Notepad путем обхода песочницы, а также другого механизма защиты безопасности, и вам, вероятно, не удастся сделать это в обычном веб-приложении.

Смежные вопросы