Как открыть консольное приложение из веб-формы - PullRequest
0 голосов
/ 14 апреля 2010

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

Я не всегда собираюсь проверить, запущено ли приложение, и я хотел бы дать конечному пользователю (избранному несколько пользователей!) Возможность запустить / перезапустить это приложение на сервере с помощью веб-формы. (нажмите кнопку, и приложение запустится).

Я запустил консольное приложение, используя следующий код:

        ProcessStartInfo info = new ProcessStartInfo(FileName);
        Process App1 = null;
        App1 = Process.Start(info);

Но окно консоли не появляется , и я хотел бы, чтобы консоль открыла окно, чтобы при входе на сервер я мог проверить, работает ли приложение.

Я попытался добавить:

info.CreateNoWindow = false;

и некоторые другие вещи, но это не моя область, поэтому я борюсь.

Есть идеи, как заставить консоль открываться в обычном окне? Или я все об этом говорю не так?

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

Большое спасибо Т * * тысяча двадцать-один

Ответы [ 2 ]

0 голосов
/ 07 августа 2013
ProcessStartInfo info = new ProcessStartInfo(FileName);
Process App1 = null;
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
App1 = Process.Start(info);

попробуйте использовать свойство info.usershellexecute

0 голосов
/ 14 апреля 2010

Как говорит Аристос, консольное приложение откроется на сервере ... а не на клиенте.

Посмотрите здесь , чтобы узнать, как открыть процесс из asp, и последствия для безопасности

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

Кроме того, может быть, написать ваше консольное приложение как службу Windows, а не просто приложение?

Хороший пример здесь

Надеюсь, это поможет.

...