afengelf
2021-07-11 13:55
采纳率: 100%
浏览 18

asp.net网站IIS应用程序池自动回收时假如正好用户在处理数据,怎么办?

假如用户在用页面的功能保存一些数据(假设1万行)到数据库,数据有一半已经进入到数据库了,这时候正好应用程序池自动回收了,所有变量等等东西都清空了,会话结束了。岂不是很容易产生错误?

我同事说回收机制跟session一样,如果有人访问,回收时间会自动往后延长。---经测试,不会延长,时间一到立马回收。
还有人说把回收时间定在半夜12点。---万一半夜12点也有用户在用呢?

这个问题困扰我多年。虽然在实际项目中没有管过这个回收是否会导致问题也从未发生过类似的问题,但是我隐约感觉到这个回收是会导致一些错误发生的。
想听听大家的看法和解决方案

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • blkq 2021-07-11 14:38
    已采纳

    定时回收的时候,被回收进程首先停止接受新请求,然后默认有90秒时间处理已有的请求,这个时间可配置。
    如果90秒都完不成,客户端收到超时通知,重试会被新的进程处理。
    有帮助,请点个采纳

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题