在 ASP.NET Core 8 中,在 AddDistributedSqlServerCache 中设置 DefaultSlidingExpiration 不起作用。仍使用默认 1200s

问题描述 投票:0回答:1

DefaultSlidingExpiration
内设置
AddDistributedSqlServerCache
时,不考虑覆盖。

builder.Services.AddDistributedSqlServerCache(options =>
{
    options.DefaultSlidingExpiration = TimeSpan.FromMinutes(90); <=== NOT RESPECTED
    options.ConnectionString = "my-conn-string"
    options.SchemaName = "my-schema-name"
    options.TableName = "my-table-name"
});

builder.Services.AddAuthentication(options =>
{
    ...
})
.AddCookie(options =>
{
    ...
})
.AddOpenIdConnect(options =>
{
    ...
});

我错过了什么?

我正在使用

Microsoft.AspNetCore.Builder.WebApplicationBuilder
Microsoft.AspNetCore.Authentication.OpenIdConnect
API。我必须使用这些API,请不要推荐新的Identity API。我需要使用上述方法的解决方案。

sql-server distributed-caching asp.net-core-8
1个回答
1
投票

解决方案是设置会话IdleTimeout,它会覆盖DefaultSlidingExpiration。请参阅此处发布的解决方案

builder.Services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromMinutes(90);
});
© www.soinside.com 2019 - 2024. All rights reserved.