心跳设计模式是什么?它与ASP.NET会话有什么关系?

时间:2009-08-03 06:22:33

标签: asp.net design-patterns session

Heart Beat设计模式是什么?它与ASP.NET会话有什么关系?

2 个答案:

答案 0 :(得分:4)

Web应用程序从用户的浏览器接收HTTP请求。它保存会话信息,以便(例如)购物车或在线游戏的状态可以保留在这些请求之间。

用户在午餐时间,当天回家或休假两周时都会使浏览器会话保持活动状态。因此,会话通常会有一些不活动超时,否则最终会为很多用户提供大量服务器资源。

描述的心跳模式here使用Ajax(异步)调用来告诉服务器用户仍然在这里。它可能很有用,因为在将新请求发送到服务器之前,富Internet应用程序通常会允许相当多的本地工作 - 因此当用户愉快地使用该应用程序时,存在会话超时的危险。

实施需要相当聪明。例如,如果你只是每三十秒向服务器发送一个ajax调用,说“Yep still here”将在用户休假两周时继续。因此,只有在用户积极使用该应用程序时才会发送心跳。

将有用的信息“捎带”到心跳请求和响应中可能是非常合理的,例如将自动保存数据发送到服务器,或检索更新的服务器信息或“新闻”。

答案 1 :(得分:1)

这种模式是关于保持ASP.NET会话的活跃。

查看Heart Beat Design Pattern - Keeping Webpage Session Alive以了解.NET中的实现。