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 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?