Ajax 当用户离开页面时删除会话变量
我有一个页面,它设置了一个会话变量,以便在加载页面时保存该页面的数据库查找列表Ajax 当用户离开页面时删除会话变量,ajax,asp.net-mvc-2,session-variables,Ajax,Asp.net Mvc 2,Session Variables,我有一个页面,它设置了一个会话变量,以便在加载页面时保存该页面的数据库查找列表 当从浏览器进行Ajax调用时,页面还需要访问该查找列表 我不想为每个Ajax调用从数据库加载查找列表,但如果用户离开页面,我想从会话中删除查找列表。有没有最佳实践或建议的策略来执行此操作?您可以使用类似的方法使用javascript清除会话变量 window.onbeforeunload = cleanup; function cleanup() { // Clear session variable her
我不想为每个Ajax调用从数据库加载查找列表,但如果用户离开页面,我想从会话中删除查找列表。有没有最佳实践或建议的策略来执行此操作?您可以使用类似的方法使用javascript清除会话变量
window.onbeforeunload = cleanup;
function cleanup()
{
// Clear session variable here
}
然而,这并不是万无一失的,因为用户总是可以禁用javascript等。通常这不会是一个问题,因为会话变量无论如何都会有一个超时。如果您真的担心,您应该删除页面加载上的所有当前会话
根据您的情况,另一个选项是使用类来保存值。当您将这些值输入缓存时,可以将它们设置为在时间跨度
后过期,只需将其设置为非常短的时间,比如5分钟左右
请注意,虽然会话是每个用户的,但每个服务器实例只有一个缓存。哦,我喜欢设置过期的想法。