在IIS c#中启动新的工作进程

时间:2012-06-05 07:34:56

标签: c# asp.net iis process application-pool

我对我开始的流程有疑问。

我使用Process.Start()方法启动流程。 该过程是没有GUI的Windows窗体应用程序。我从一个在IIS上运行它自己的应用程序池(在LocalSystem上运行)的Web应用程序启动该过程。

流程开始没有问题,但过了一段时间我可以在日志中看到流程停止执行它的工作(没有记录发生)。如果我停止从中启动进程的应用程序池并再次启动池(不执行任何操作),则该进程从停止的位置开始。我可以从它停止的日志中看到这一点。

我与父(Web应用程序)没有任何依赖关系。我不是在等待儿童过程中的任何事情。它只对很多API调用另一台服务器。当它作为线程运行时,代码实际上完美无缺。我改为子进程,因为我想让它运行LONG工作。如果我使用工作进程,IIS就会让我失望。

所以任何人都知道导致这种奇怪行为的原因是什么?

1 个答案:

答案 0 :(得分:3)

欢迎IIS随时回收应用程序池。这就是阻止你的过程。

您应该将您的流程移动到作为Windows服务运行的应用程序中。