C# 在ASP.NET核心MVC中从控制器添加会话超时
如何在ASP.NET Core MVC中从控制器添加会话超时C# 在ASP.NET核心MVC中从控制器添加会话超时,c#,asp.net-core,.net-core,asp.net-core-mvc,session-state,C#,Asp.net Core,.net Core,Asp.net Core Mvc,Session State,如何在ASP.NET Core MVC中从控制器添加会话超时 我正在使用ASP.NET核心MVC web应用程序,需要从控制器的操作方法添加会话超时。在ConfigureServices中配置会话 services.AddSession(options => { options.IdleTimeout = TimeSpan.FromSeconds(120); options.Cookie.HttpOnly = true;
我正在使用ASP.NET核心MVC web应用程序,需要从控制器的操作方法添加会话超时。在ConfigureServices中配置会话
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromSeconds(120);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
在ConfigureServices中配置会话
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromSeconds(120);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
您可以尝试自定义注册会话的,并用以下内容装饰控制器或操作:
public class SessionPipeline
{
public void Configure(IApplicationBuilder applicationBuilder)
{
var options = new SessionOptions
{
IdleTimeout = TimeSpan.FromSeconds(5),
};
applicationBuilder.UseSession(options);
}
}
[MiddlewareFilter(typeof(SessionPipeline))]
public class HomeController : Controller
{
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddSession();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//...more middlewares
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
public void配置服务(IServiceCollection服务)
{
配置(选项=>
{
//此lambda确定给定请求是否需要非必要cookie的用户同意。
options.checkApprovered=context=>false;
options.MinimumSameSitePolicy=SameSiteMode.None;
});
services.AddSession();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
//…更多的中间产品
app.UseSession();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“{controller=Home}/{action=Index}/{id?}”);
});
}
您可以尝试自定义注册会话的,并用以下内容装饰控制器或操作:
public class SessionPipeline
{
public void Configure(IApplicationBuilder applicationBuilder)
{
var options = new SessionOptions
{
IdleTimeout = TimeSpan.FromSeconds(5),
};
applicationBuilder.UseSession(options);
}
}
[MiddlewareFilter(typeof(SessionPipeline))]
public class HomeController : Controller
{
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddSession();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//...more middlewares
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
public void配置服务(IServiceCollection服务)
{
配置(选项=>
{
//此lambda确定给定请求是否需要非必要cookie的用户同意。
options.checkApprovered=context=>false;
options.MinimumSameSitePolicy=SameSiteMode.None;
});
services.AddSession();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
//…更多的中间产品
app.UseSession();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“{controller=Home}/{action=Index}/{id?}”);
});
}
您好,先生。我也知道这一点,但我只是告诉您如何更改控制器的会话超时,甚至不包括启动class@RahulRathaur找到解决办法了吗?我还需要你需要的这个解决方案。你好,先生。我也知道这一点,但我只是告诉您如何更改控制器的会话超时,甚至不包括启动class@RahulRathaur找到解决办法了吗?我也需要你需要的这个解决方案。