当我尝试将会话设置为在30分钟后过期时,我有一个特殊情况。我保存会话的代码如下所示。当我在这里设置断点时,变量的值就是我想要的(30分钟)。当我跨过SaveSession行时,我的缓存中的行的ExpiryDate为30分钟。但是,有些东西正在将缓存中的ExpiryDate更改回默认的2周,我不确定它是什么。这一行是我整个服务中唯一的.SaveSession。
sessionExpiry = sessionExpiry ?? ServiceStack.SessionFeature.DefaultSessionExpiry;
authService.SaveSession(session, sessionExpiry);
答案 0 :(得分:2)
每次保存用户会话时,您都可以覆盖AppHost.OnSaveSession()
来处理,例如:
public override void OnSaveSession(IRequest req, IAuthSession session, TimeSpan? expiresIn=null)
{
return base.OnSaveSession(req, session, TimeSpan.FromMinutes(30));
}