在 Asp.Net 8 中,AddDistributedSqlServerCache 内的 DefaultSlidingExpiration 设置不起作用。仍使用默认 1200s

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

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

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.WebApplicationBuilderMicrosoft.AspNetCore.Authentication.OpenIdConnect api。我必须使用这些 api,请不要推荐新的 Identity api。我需要使用上述方法的解决方案。

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

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

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