2011-02-07 1 views
0

Я запускаю исполняемый файл в локальной файловой системе, используя Process.Start() из веб-приложения ASP.NET. Это работает правильно и делает то, что я ожидаю, проблема в том, что он занимает около 40 секунд, прежде чем exe начнется после вызова Process.Start().Что вызывает 40-секундную задержку при запуске исполняемого файла с помощью Process.Start()?

Когда я запускаю exe из командной строки, для завершения работы требуется всего несколько секунд.

Кто-нибудь знает, что вызывает эту длительную задержку, когда я использую Process.Start()?

Заранее благодарен!

Роберт

+1

Кажется странным ... с чего вы начинаете? Если вы проверите список процессов, вы видите, что процесс работает как вызываемый, и он ничего не делает за 40 секунд? Я подозреваю, что есть проблема с запуском любого процесса, который вы используете из другой учетной записи. – Brad

+3

Звучит опасно для запуска приложения с веб-страницы ASP.NET. Я мог представить себе, что 40 секунд - это настроить среду рабочего стола для пользователя, который используется для запуска приложения. С другой стороны, только путем профилирования вы можете быть уверены, в чем причина. –

+0

@Brad Я запускаю PDF-генератор wkhtmltopdf на защищенном веб-сайте. Я сразу вижу программу, запущенную в диспетчере задач, но на самом деле она практически не работает около 40 секунд, а затем выполняется так, как ожидалось. –

ответ

2

Вопрос, как представляется, были вызваны попытке запустить ехе, используя учетную запись рабочего процесса по умолчанию веб-приложения. Я обновил ProcessStartInfo, чтобы использовать предварительно определенную учетную запись пользователя с ограниченными разрешениями на сервере, и exe запускался почти мгновенно.

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