gpt4 book ai didi

session - 无法使用 Servicestack 在 Redis 上设置 session 信息

转载 作者:可可西里 更新时间:2023-11-01 11:13:28 27 4
gpt4 key购买 nike

我在 Redis 上设置 session 信息时遇到问题。以下是我所做的配置。

appHost.Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[]
{
new BasicAuthProvider
{
SessionExpiry = new TimeSpan(1000, 0, 0)
},
new CredentialsAuthProvider(appSettings)
{
SessionExpiry = new TimeSpan(1000, 0, 0)
}
}));

container.Register<IRedisClientsManager>(c =>
new PooledRedisClientManager("RedisServer:6379"));
container.Register(c => c.Resolve<IRedisClientsManager>().GetCacheClient());

下面是我试图获取和设置一些 session 信息的代码,但在设置之后,我得到的是旧值。不确定我做错了什么。请提出建议。

//get
var user=SessionAs<CustomUserSession>();
//set

var userSetting=SessionAs<CustomUserSession>();
userSetting.OrganisationId=01;

如果我现在尝试获取用户信息,它将是旧值,而不是最新值。

最佳答案

如果您修改 Session,它需要使用 IRequest.SaveSession() 保存回 ICacheClient,例如:

var userSession = base.SessionAs<CustomUserSession>();
userSession.OrganisationId = 1;

base.Request.SaveSession(userSession); //Persists userSession to ICacheClient

关于session - 无法使用 Servicestack 在 Redis 上设置 session 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com