У меня есть вопрос о процессе, который я запускаю.
Я запускаю процесс методом Process.Start()
. Процесс представляет собой приложение формы Windows, не имеющее графического интерфейса. Я запускаю процесс из веб-приложения, которое работает в собственном пуле приложений (работает как LocalSystem) в IIS.
Процесс запускается без проблем, но через некоторое время я вижу в логах процесс перестает выполнять свою работу (логирование не происходит). Если я остановлю пул приложений, из которого я запустил процесс, и снова запущу пул (ничего не делая), процесс начнется с того места, где он остановился. Я вижу это из журналов, где он остановился.
У меня нет никаких зависимостей от родителя (веб-приложения). Я ничего не жду в дочернем процессе. Он только делает много вызовов API на другой сервер. Код на самом деле работал безупречно, когда он работал как поток. Я перешел на дочерний процесс, потому что хотел, чтобы он выполнял ДЛИННЫЕ задания. IIS просто отключил меня, если я использовал рабочий процесс.
Итак, кто-нибудь знает, что вызывает это странное поведение?