我有一个在ASP.NET 3.5框架上编写的应用程序,它由多个部分组成。我添加到它的部分涉及,比方说,任务生成和更新。目前,我正在尝试添加一项在退出任务更新时发送电子邮件更新的功能。
我需要考虑几个问题:
1)当用户从任务更新导航到应用程序的任何其他部分时,我需要发送电子邮件更新;
2)我需要在用户从一个任务导航到另一个任务时发送电子邮件(例如手动更改URL中的任务ID,或者从收藏夹中打开另一个任务);
3)我需要在用户关闭浏览器时发送电子邮件。
4)当用户刷新任务更新(点击刷新按钮或F5)时,我不需要发送电子邮件更新。
我尝试使用每次关闭应用程序时导出的“beforeunload”jQuery事件,远离任务更新或刷新页面。我打算对一个可以调用我的send email方法的web方法进行ajax调用。 “beforeunload”的问题在于它无法区分任务更新是刷新,关闭还是用户导航离开页面。我需要知道,因为如果用户继续执行相同的任务,我不想发送电子邮件。
我能够确定在后面的代码中的Page_Load事件中刷新相同的任务更新,或者用户是否转到其他任务。它没有解决问题,因为“beforeunload”事件在Page_Upload之前触发。
另一个问题是当用户打开了多个不同任务的标签时......
有没有人为类似的东西实施过这个解决方案?
谢谢。
答案 0 :(得分:1)
问题解决了。
我继续将更新电子邮件方法放在一个单独的线程中。我把延迟放在那个帖子上。通过Web方法在每个页面加载以及每个AJAX上更新延迟。我还在前端有一个计时器,如果屏幕空闲,它会更新延迟。