Асинхронный запуск исполняемого файла из веб-приложения (безопасное решение) - PullRequest
4 голосов
/ 13 апреля 2010

Каковы альтернативы API System.Diagnostics для запуска внешних файлов EXE или BAT в веб-приложении IIS? Я хотел бы запустить внешнюю программу EXE из моего веб-приложения ASP.NET-MVC. Мне не нужно ждать выхода из программы. Я просто хочу запустить программу. Выполнение может занять некоторое время или произойти сбой, поэтому я хотел бы запустить его отдельно от IIS таким образом, чтобы веб-приложение только запускало его выполнение.

1 Ответ

0 голосов
/ 30 декабря 2010

Однажды я создал WebService (в любом случае функциональность была инкапсулирована в одном) и определил метод как «OneWay», который по сути является «Fire and Forget».

http://msdn.microsoft.com/en-us/library/ms181848(v=vs.80).aspx

Ваш запрос выполняется без ожидания ответа от сервера.

Разумеется, вам необходимо кодировать собственную логику «уведомлений», чтобы пользователь знал об успешном / неудачном выполнении задачи.

Как упомянуто в комментариях @stefano, вы можете использовать Диагностику.

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx

Поскольку это будет в настройке OneWay, ваше веб-приложение не будет ждать, пока приложение завершит работу, перед выпуском HttpResponse.

...