Aspx页面即使在浏览器窗口关闭后也在后台运行

时间:2013-05-21 10:15:05

标签: c# asp.net iis

我有一个aspx网站,它托管在IIS服务器中。该网站允许用户搜索某些信息,用户可以将详细信息导出到Excel。导出成功后,将向用户发送一封电子邮件,其中包含指向excel的链接。最近我发现即使Web浏览器在点击导出按钮报告的几秒内关闭也会生成并发送邮件。我真的很高兴看到这种行为,但是有人能说出这背后的实际原因吗?

2 个答案:

答案 0 :(得分:2)

当用户单击导出按钮时,请求将发送到服务器,服务器将处理该请求,直到结束,在您的情况下是电子邮件。

即使客户端浏览器在按下按钮后关闭,仍然会发送请求,服务器也不知道客户端浏览器已关闭。

现在,通常(在整个过程中浏览器打开)请求被发送,客户端等待响应,在处理结束时返回。当你回到一个页面告诉你发生了什么但是当你的行为产生其他副作用(例如电子邮件)时,这是有道理的,让客户端等待似乎不合逻辑。在这种情况下,请考虑使用ajax请求发送请求,以确保在处理请求时仍可以与页面的其余部分进行交互。

答案 1 :(得分:0)

如果您正在使用Office Interop或PIAS,那就是您的问题!

见:

http://support.microsoft.com/kb/257757

还有许多其他选择,不需要为服务器端使用不受支持的技术。