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

本文关键字:工作 进程 启动 IIS | 更新日期: 2023-09-27 18:36:25

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

我从Process.Start()方法开始该过程。该过程是没有 GUI 的窗口表单应用程序。我从 IIS 上自己的应用程序池(作为本地系统运行)上运行的 Web 应用程序启动该过程。

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

我对父级(网络应用程序)没有任何依赖关系。我不是在等待孩子过程中的任何东西。它只对另一台服务器进行大量 API 调用。当代码作为线程运行时,它实际上完美无缺。我更改为子进程,因为我希望它运行 LONG 作业。如果我使用工作进程,IIS 只会关闭我。

那么现在有人知道是什么导致了这种奇怪的行为?

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

欢迎

IIS 随时回收应用程序池。这就是停止您的进程的原因。

应将进程移动到其自己的作为 Windows 服务运行的应用程序中。