Windows Azure中的滑动过期

时间:2012-06-15 13:13:54

标签: asp.net azure session-state session-timeout azure-web-roles

我在Widnows Azure中部署了一个webrole。在webconfig中,我指定了会话状态模式,即InProc模式,超时为120分钟。

会话在20分钟后到期,并且没有滑动到期。

有人对此有解释吗?我知道windows azure中超时的默认值是20分钟。但是在Windows Azure中是否有滑动过期,或者他只是在20分钟后结束会话?

我不想为会话状态使用不同的模式。

2 个答案:

答案 0 :(得分:1)

AppPool超时为20分钟(在this one等其他答案中讨论过)。通常,会话状态管理应与内部部署应用程序相同,因为VM是Windows 2008 Server R2 / SP2。

我确实质疑你使用进程内会话状态处理:一旦你进入多个实例,你将不再具有会话状态一致性。负载均衡器不会提供粘性:客户端将在所有实例之间进行负载平衡,无法强制流量到特定实例(除非您启用ARR并设置自己的负载平衡)。

借助Spring 2012 Windows Azure更新,现在既有专用的缓存角色,又能够在现有角色(例如Web角色)中运行缓存。如果你启用了这个,你就可以获得非常快速的内存缓存,它可以作为你的会话状态后备存储。

答案 1 :(得分:1)

在1.7版本中推出的Windows Azure新缓存选项中,可以选择三种不同类型的过期类型之一:无,绝对和滑动窗口,最后两个你可以定义生存时间。

正如您所说,您想要使用InProc会话,您现在可以使用共处一地的角色缓存机制,这种机制是两全其美的:它基于内存且可扩展,并且由于它使用了定义,因此无需额外成本实例内存的百分比。