пытаясь запустить процесс из приложения asp.net - PullRequest
2 голосов
/ 18 мая 2009

Мне нужно запустить приложение на сервере. У меня есть исполняемый файл, который отлично работает с моими собственными разрешениями через терминальные сервисы. Он также хорошо работает на моем компьютере через asp.net, когда я запускаю сайт с моей VS.

Когда я пытался запустить свой сайт на реальном IIS, он просто зависал. Я попытался изменить учетные данные StartInfo на свои собственные, а также попробовал Impresonate = true в web.config для себя. В обоих случаях это все еще не сработало.

Я получаю следующую ошибку (при запуске под моими учетными данными и при входе на сервер в / console)

alt text

У меня также установлен флажок «Разрешить службе взаимодействовать с рабочим столом» в параметрах IIS.

Кто-нибудь здесь знает, что мне не хватает? Какой-то вариант, который я должен проверить, или, может быть, какой-то другой способ сделать то, что мне нужно?

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Попробуйте создать новый пул приложений с новой учетной записью администратора. Если это работает, удалите пользователя из группы администраторов и создайте новую группу с необходимыми разрешениями для приложения.

0 голосов
/ 18 мая 2009

Я попытался запустить на своем локальном IIS с копированием тестового консольного приложения в каталог bin веб-сайта, и это работает:

        string path = "bin/test.exe";
        try
        {
            ProcessStartInfo pi = new ProcessStartInfo();
            pi.UseShellExecute = true;
            pi.FileName = Server.MapPath(path);
            System.Diagnostics.Process.Start(pi);
            lbl.Text = "Started Process: " + Server.MapPath(path);
        }
        catch (Exception ex)
        {
            lbl.Text = ex.Message + 
            "<br/><p>" + ex.StackTrace + "</p>" +
            Server.MapPath(path);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...