我对我开始的流程有疑问。
我使用Process.Start()
方法启动流程。
该过程是没有GUI的Windows窗体应用程序。我从一个在IIS上运行它自己的应用程序池(在LocalSystem上运行)的Web应用程序启动该过程。
流程开始没有问题,但过了一段时间我可以在日志中看到流程停止执行它的工作(没有记录发生)。如果我停止从中启动进程的应用程序池并再次启动池(不执行任何操作),则该进程从停止的位置开始。我可以从它停止的日志中看到这一点。
我与父(Web应用程序)没有任何依赖关系。我不是在等待儿童过程中的任何事情。它只对很多API调用另一台服务器。当它作为线程运行时,代码实际上完美无缺。我改为子进程,因为我想让它运行LONG工作。如果我使用工作进程,IIS就会让我失望。
所以任何人都知道导致这种奇怪行为的原因是什么?
答案 0 :(得分:3)
欢迎IIS随时回收应用程序池。这就是阻止你的过程。
您应该将您的流程移动到作为Windows服务运行的应用程序中。