6

当您将会话状态存储在缓存中时,创建 AppFabric 缓存的“最佳”参数是什么? MSDN 缓存相关命令

Powershell命令行:

New-Cache [-CacheName] <String> [-Eviction <String>] [-Expirable <String>] [-Force [<SwitchParameter>]] [-NotificationsEnabled <String>] [-Secondaries <Int32>] [-TimeToLive <Int64>]
  • CacheName:<应用程序名称>-session-state
  • 辅助节点:1(在服务器出现故障时打开高可用性)
  • 驱逐:?
  • 过期:?
  • 生存时间:?
  • 力量: ?
  • 启用通知:?

因为我不希望我的会话被删除,除非会话已通过代码或会话超时被放弃......

对于驱逐,我认为“无”,对于可过期,我认为是 False。

我已经测试并调用 Session.Abandon 确实从缓存中删除了对象。我还测试了通过扩展我的会话是否也扩展了缓存中的会话对象。这似乎确实以“正确”的方式工作。

4

1 回答 1

3

MS 员工的帖子证实了我的发现。

2)由于您的问题是在会话状态的上下文中,当您使用会话状态提供程序时,会话对象存储在缓存中,超时等于 ASP.Net 会话超时。每次访问会话时,缓存中会话对象的超时时间也会重置为会话超时时间。确保会话对象仅在 ASP.Net 会话超时时才从缓存中过期。会话超时。

我仍然需要创建一个命名缓存来获得高可用性,但看起来我可以将其他设置保留为默认值。

New-Cache projectname-session-state -Secondaries 1
于 2010-07-28T21:07:18.837 回答