如何解决在ASP.net Core 3.1中设置会话超时
我有一个Web应用程序.net core 3.1剃须刀页面。我已将会话超时设置为30分钟,但是在10分钟不活动后它将当前用户注销。全局IIS设置在服务器上设置为60分钟。这是我在Startup.cs中的代码。我想念什么?任何帮助是极大的赞赏。谢谢!
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddControllers().AddNewtonsoftJson(options =>
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
);
services.AddSingleton<IHttpContextAccessor,HttpContextAccessor>();
services.AddTransient<IMemberService,MemberService>();
services.AddTransient<INewsService,NewsService>();
services.AddTransient<IUserCardService,UserCardService>();
services.AddTransient<IUsernameService,UsernameService>();
services.AddTransient<ILinkService,LinkService>();
services.AddTransient<INotificationService,NotificationService>();
services.AddTransient<IEmailSender,EmailSender>();
services.Configure<AuthMessageSenderOptions>(Configuration);
services.AddDbContext<DefaultContext>(options =>
options.UsesqlServer(
Configuration.GetConnectionString("DefaultContextConnection")));
services.AddControllersWithViews()
.AddSessionStateTempDataProvider();
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential
// cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
// requires using Microsoft.AspNetCore.Http;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AdddistributedMemoryCache();
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
services.AddRazorPages()
.AddRazorRuntimeCompilation()
.AddSessionStateTempDataProvider();
services.AddSession();
}
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UsebrowserLink();
//app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRewriter();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSession();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。