用户上传Excel工作表,这会触发一个可能需要一段时间的流程:工作表已保存(快速)然后处理(需要一段时间并与客户端进行独立通信)。之后,返回一个视图。
如果用户上传文件并立即关闭浏览器会发生什么。触发过程是否会继续,直到它发现没有人将视图返回到?
我想一旦流程被触发,服务器就不知道/关心客户端是否仍处于活动状态,直到下次服务器与客户端通信,因此服务器将继续工作。但我不确定..感谢您对这个新手问题的意见!
答案 0 :(得分:0)
可能是一个不同的问题,而不是答案,但是如果用户厌倦了等待非常慢的响应并开始锤击刷新,那么你会怎么做?例如,重新提交?
通常,处理此问题的一个好方法是将慢进程分离以运行异步,然后返回到客户端,然后客户端可以轮询进度。
答案 1 :(得分:0)
很容易自己尝试。
但由于HTTP是无状态的,因此Web服务器无法安全地检测到浏览器已关闭。
但是如果您确实想要检测到浏览器仍处于打开状态,您可以在进行实际处理时使用Web套接字或长轮询请求。
答案 2 :(得分:0)
即使客户端刷新并上传新文件(旧请求仍在运行),该过程仍将继续。小心,它可能是冲突的根源!