【问题标题】:How to set timeout on a dot-net process如何在 dot-net 进程上设置超时
【发布时间】:2014-09-05 19:10:08
【问题描述】:

我有一个网页应该启动一个长时间运行的进程。在这里长时间运行我的意思是可能需要一个小时左右。我不想让网页在那里停留一个小时,所以我创建了一个 Process 对象,无需等待即可启动它,然后返回“好的,我开始了”消息。 (这个过程更新了一些文件,我计划有一个日志,用户可以检查它是否完成。这不是问题。)我的问题是,它在 20 分钟时超时。如果我修改工作中的参数,使其在不到 20 分钟的时间内运行,一切正常,它会进行更新,独角兽在牧场上嬉戏,一切都很好。但是在 20 分钟的某个地方会出现超时。

我在 Process 上搜索了一个属性来指定时间限制,但没有运气。这个限制必须在某个地方设置。知道在哪里吗?

【问题讨论】:

标签: asp.net .net process background-process


【解决方案1】:

这不是进程问题,而是 IIS 在不活动后进入空闲状态的特性,默认超时正好是 20 分钟。

所以您可以尝试以下操作:

1) 转到 IIS 服务器管理器 -> 选择您的应用程序池 -> 选择高级设置并为空闲超时(分钟)设置另一个值

2) 如果您计划在其他服务器上部署您的应用程序,而您无法更改这些设置,那么您可以创建一个计时器,该计时器将每 15 分钟对服务器进行一次 ping,以防止其进入空闲模式。

【讨论】:

  • 啊啊啊啊。我看到了那个设置,但是当我的进程运行时没有变得“空闲”时,我认为它不相关。我现在明白了。是的,将其设置为 40 分钟,一切似乎都正常。 (我的工作显然需要 30 分钟才能完成。)几乎就像一台真正的计算机。
猜你喜欢
  • 2012-09-01
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 2015-10-16
  • 2010-11-19
  • 1970-01-01
相关资源
最近更新 更多