使用System.Text.JSON作为.Net会话中间件的序列化器

fquxozlt  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(95)

如何在Redis中将会话数据存储为JSON(通过System.Text.JSON)而不是som二进制格式?

// Program.cs 
...
builder.Services.AddStackExchangeRedisCache(options =>
    {
        options.Configuration = builder.Configuration.GetConnectionString("Redis");
    }
);

builder.Services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromDays(30);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
    options.Cookie.MaxAge = TimeSpan.FromDays(365);
});
...

这种配置可以工作,但数据以二进制格式存储在Redis中。是否可以存储iti

nbysray5

nbysray51#

您可以尝试:

services.AddSession(options =>
    {
        // Cấu hình thời gian timeout và cookie
        options.IdleTimeout = TimeSpan.FromMinutes(30);
        options.Cookie.HttpOnly = true;
        options.Cookie.IsEssential = true;
    })
    .AddDistributedRedisCache(options =>
    {
        options.Configuration = "your_redis_connection_string"; 
        options.InstanceName = "YourAppInstance"; 
    });

AddDistributedRedisCache用于存储会话,默认数据序列化为json。

相关问题