System.Diagnostics.Process.Start( "Notepad.exe"); не работает на реальном сервере

125
13

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

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

спросил(а) 2021-01-25T15:43:04+03:00 4 месяца, 3 недели назад
1
Решение
117

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

Однако работа на полном IIS - это совсем другое дело, как показано в моем сообщении в блоге,

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

Даже если "Блокнот" открывается таким образом, он находится в сеансе 0 на стороне сервера IIS, и вы не можете его увидеть.

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

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

ответил(а) 2021-01-25T15:43:04+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема