【发布时间】:2009-08-03 06:22:33
【问题描述】:
什么是心跳设计模式?它与 ASP.NET 会话有什么关系?
【问题讨论】:
标签: asp.net design-patterns session
什么是心跳设计模式?它与 ASP.NET 会话有什么关系?
【问题讨论】:
标签: asp.net design-patterns session
Web 应用程序接收来自用户浏览器的 HTTP 请求。它保存会话信息,以便(例如)购物车或在线游戏的状态可以在这些请求之间保留。
用户倾向于在去吃午饭、回家或休假两周时保持浏览器会话处于活动状态。因此,会话通常会有一些不活动超时,否则您最终会使用大量服务器资源供近期不会回来的用户使用。
here 描述的心跳模式使用 Ajax(异步)调用来告诉服务器用户仍然在这里。它很有用,因为富 Internet 应用程序通常允许在将新请求发送到服务器之前进行相当多的本地工作 - 因此在用户愉快地使用应用程序时存在会话超时的危险。
实施需要相当智能。例如,如果您只是每 30 秒向服务器发送一个 ajax 调用,说“是的,还在这里”,这将在用户休假两周时继续进行。因此,只有当用户一直在积极使用该应用时才会发送心跳。
将有用的信息“捎带”到心跳请求和响应中可能是相当合理的,例如向服务器发送自动保存数据,或检索更新的服务器信息或“新闻”。
【讨论】:
这种模式是关于保持 ASP.NET 会话处于活动状态。
查看 Heart Beat Design Pattern - Keeping Webpage Session Alive 以了解 .NET 中的实现。
【讨论】: