我在 Widnows Azure 中部署了一个 webrole。在 webconfig 中我指定了会话状态模式,即 InProc 模式,超时为 120 分钟。
会话在 20 分钟后到期,并且没有滑动到期。
有人对此有解释吗?我知道 Windows azure 中超时的默认值为 20 分钟。但是 Windows Azure 中是否有滑动解释,或者他只是在 20 分钟后结束会话?
我不想为会话状态使用不同的模式。
我在 Widnows Azure 中部署了一个 webrole。在 webconfig 中我指定了会话状态模式,即 InProc 模式,超时为 120 分钟。
会话在 20 分钟后到期,并且没有滑动到期。
有人对此有解释吗?我知道 Windows azure 中超时的默认值为 20 分钟。但是 Windows Azure 中是否有滑动解释,或者他只是在 20 分钟后结束会话?
我不想为会话状态使用不同的模式。
在 1.7 版本中推出的 Windows Azure 的新缓存选项中,可以选择三种不同类型的到期时间之一:无、绝对和滑动窗口,您可以在最后两个上定义生存时间。
正如您所说您想使用 InProc 会话,您现在可以使用 Co-located Role 缓存机制,它是两全其美的:它基于内存且可扩展,并且没有额外成本,因为它使用了定义的百分比实例内存。
AppPool 超时时间为 20 分钟(在其他答案中讨论,例如这个)。通常,会话状态管理应该与本地应用程序一样工作,因为 VM 是 Windows 2008 Server R2 / SP2。
我确实质疑您对进程内会话状态处理的使用:一旦您转到多个实例,您将不再具有会话状态一致性。负载均衡器不提供粘性:客户端将在您的所有实例之间进行负载均衡,无法强制流量流向特定实例(除非您启用 ARR 并设置自己的负载均衡)。
在 2012 年春季 Windows Azure 更新中,现在既有专用的缓存角色,也有在现有角色(例如 Web 角色)中运行缓存的能力。如果启用此功能,您将获得非常快速的内存缓存,可用作您的会话状态后备存储。