【问题标题】:Is a process started from a web form stopped when IIS shuts down the application?当 IIS 关闭应用程序时,从 Web 表单启动的进程是否停止?
【发布时间】:2017-07-10 15:12:27
【问题描述】:

我有一个旧的 Web 表单应用程序,当按下 ImageButton 时会生成一个进程:

System.Diagnostics.Process someProcess = new System.Diagnostics.Process();

someProcess.StartInfo.WorkingDirectory = "path goes here";
someProcess.StartInfo.UseShellExecute = true;
someProcess.StartInfo.FileName = "SomeProcess.exe";
someProcess.StartInfo.Arguments = "arguments goes there";

someProcess.Start();

该过程的持续时间可变,但运行时间有点长。

IIS 是否有可能在进程完成之前关闭应用程序?

【问题讨论】:

  • 自己试试看效果不是更快吗?
  • 是的。当应用程序池回收时,这个进程会收到一个要杀死的命令。不过它可能不听。所以这取决于过程。
  • @tigerswithguitars 什么?从什么时候开始?
  • @CamiloTerevinto 我实际上已经尝试从 IIS 控制台手动停止网站。该进程在完成之前被终止。当 IIS 自行停止应用程序时,我不确定它是否是相同的行为
  • @mason 我观察到应用程序池回收以及显式终止,在野外终止后台工作人员和生成的进程。不过,这可能是一种错误的相关性/因果关系。

标签: c# asp.net process webforms iis-7


【解决方案1】:

将给出kill命令,这取决于进程及其设置是否会在工作完成之前实际执行kill命令。

换句话说;这是您应该并且可以轻松测试自己的东西。

【讨论】:

  • 如问题评论中所述,我尝试从 IIS 控制台手动停止网站。我不确定 IIS 在自行停止应用程序时是否会这样做
  • @sblandin 我读过了。回答您的问题:是的,两种情况都使用相同的底层命令。
猜你喜欢
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 2018-12-20
相关资源
最近更新 更多