我有一个托管在 IIS 服务器上的 aspx 网站。该网站允许用户搜索一些信息,用户可以将详细信息导出到 excel。导出成功后,将向用户发送一封电子邮件,其中包含指向 excel 的链接。最近我观察到,即使在单击导出按钮后几秒钟内关闭了 Web 浏览器,也会生成报告并发送邮件。我真的很高兴看到这种行为,但谁能说出这背后的真正原因?
最佳答案
当用户单击导出按钮时,请求将发送到服务器,服务器将处理该请求直到结束,在您的例子中是通过电子邮件发送。
即使在按下按钮后客户端浏览器关闭,请求仍然被发送并且服务器不知道客户端浏览器关闭。
现在,通常(在整个过程中打开浏览器)请求被发送,客户端等待响应,响应在处理结束时返回。当您返回一个告诉您发生了什么的页面时,这是有道理的,但是当您的操作产生其他副作用(例如电子邮件)时,让客户等待似乎不合逻辑。在这种情况下,请考虑使用 ajax 请求发送请求,这将确保在处理请求时仍可以与页面的其余部分进行交互。
关于c# - Aspx 页面在浏览器窗口关闭后仍在后台工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667520/