4

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

4

2 回答 2

2

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

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

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

于 2013-05-21T11:30:57.573 回答
0

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

看到这个:

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

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

于 2013-05-21T13:47:43.997 回答