我们正尝试从服务器会话(IIS)迁移到基于Redis的会话。我已经在web.config中更新了自定义sessionState配置。我发现只有一些键/值对被保存。我期望其中有5个,但实际只有2个。我验证了所有代码最终都会命中HttpContext.Current.Session.Add。我验证了我的POCO标记为可序列化。查看监视时,我发现它添加了前两个键值对,然后之后的所有内容都没有保存。没有命中、拒绝或异常。什么也没有。
有人见过这种情况吗?知道我可以从哪里开始解决吗?
谢谢, Matt
更新1:我已经切换到使用JSON序列化器来存储我的数据。同样的问题。似乎不是一个序列化问题。
更新2:我现在已经下载了源代码,编译并调试它。方法SetAndReleaseItemExclusive,似乎将会话项发送到Redis,只被命中一次,尽管我的网站处理SSO并在页面之间跳转以加载用户等等,应该会被多次命中。必须调查为什么只触发一次...
有人见过这种情况吗?知道我可以从哪里开始解决吗?
谢谢, Matt
更新1:我已经切换到使用JSON序列化器来存储我的数据。同样的问题。似乎不是一个序列化问题。
更新2:我现在已经下载了源代码,编译并调试它。方法SetAndReleaseItemExclusive,似乎将会话项发送到Redis,只被命中一次,尽管我的网站处理SSO并在页面之间跳转以加载用户等等,应该会被多次命中。必须调查为什么只触发一次...
MONITOR
语句,因此您可以查看运行的命令(如果有),并使用它来调查Redis是否实际被使用。 - tadman