Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是心跳设计模式?它与ASP.NET会话有何关系?_Asp.net_Design Patterns_Session - Fatal编程技术网

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

什么是心跳设计模式?它与ASP.NET会话有何关系?,asp.net,design-patterns,session,Asp.net,Design Patterns,Session,什么是心跳设计模式?它与ASP.NET会话有何关系?web应用程序从用户的浏览器接收HTTP请求。它保存会话信息,以便(例如)在这些请求之间可以保留购物车或在线游戏的状态 当用户外出吃午饭、回家或休假两周时,他们倾向于让浏览器会话保持活动状态。因此,会话通常会有一些非活动超时,否则会导致大量服务器资源被用于短期内不会回来的用户 所描述的heartbeat模式使用Ajax(异步)调用告诉服务器用户仍然在这里。这可能很有用,因为富互联网应用程序通常允许在向服务器发送新请求之前进行大量本地工作,因此在

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

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

当用户外出吃午饭、回家或休假两周时,他们倾向于让浏览器会话保持活动状态。因此,会话通常会有一些非活动超时,否则会导致大量服务器资源被用于短期内不会回来的用户

所描述的heartbeat模式使用Ajax(异步)调用告诉服务器用户仍然在这里。这可能很有用,因为富互联网应用程序通常允许在向服务器发送新请求之前进行大量本地工作,因此在用户愉快地使用应用程序时存在会话超时的危险

实现需要相当智能。例如,如果您只需每隔30秒向服务器发送一个ajax调用,说“Yep still here”,这将在用户休假两周时继续进行。因此,只有当用户一直在积极使用应用程序时,才会发送心跳信号


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

此模式旨在保持ASP.NET会话的活动性

请看一下.NET中的一个实现