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

Ahm*_*med 5 asp.net session design-patterns

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

djn*_*jna 5

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

用户倾向于在午餐,白天回家或休假两周时使浏览器会话保持活动状态。因此,会话通常会有一些不活动的超时时间,否则最终会导致大量服务器资源供不久后不会回来的用户使用。

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

该实现需要合理智能。例如,如果您仅每30秒向服务器发送一个ajax呼叫,说“ Yep still here”,那么在用户休假两周时这种情况将会持续。因此,仅当用户一直在积极使用该应用程序时,才会发送心跳。

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