在 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.WebApplicationBuilder 和 Microsoft.AspNetCore.Authentication.OpenIdConnect api。我必须使用这些 api,请不要推荐新的 Identity api。我需要使用上述方法的解决方案。
解决方案是设置会话IdleTimeout,它会覆盖DefaultSlidingExpiration。请参阅此处发布的解决方案。
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(90);
});