afengelf 2021-07-11 13:55 采纳率: 50%
浏览 20
已采纳

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

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

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

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

  • 写回答

1条回答 默认 最新

  • blkq 2021-07-11 14:38
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月11日
  • 创建了问题 7月11日

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序