处理 Session 的基本示例
1)首先,在 project.json 中添加依赖项 - "Microsoft.AspNetCore.Session": "1.1.0",
2)在 startup.cs
中添加 AddSession()
和 AddDistributedMemoryCache()
线到 ConfigureServices
,就像这样 -
services.AddDistributedMemoryCache(); //This way ASP.NET Core will use a Memory Cache to store session variables
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromDays(1); // It depends on user requirements.
options.CookieName = ".My.Session"; // Give a cookie name for session which will be visible in request payloads.
});
3)在配置启动方法中添加 UseSession()
调用,如下所示 -
app.UseSession(); //make sure add this line before UseMvc()
4)在 Controller 中,Session 对象可以像这样使用 -
using Microsoft.AspNetCore.Http;
public class HomeController : Controller
{
public IActionResult Index()
{
HttpContext.Session.SetString("SessionVariable1", "Testing123");
return View();
}
public IActionResult About()
{
ViewBag.Message = HttpContext.Session.GetString("SessionVariable1");
return View();
}
}
- 如果你正在使用 cors 策略,那么在启用
有关启用 AllowCredentials 标头和使用
WithOrigins 标头而不是 AllowAllOrigins 的标头的会话后,有时它可能会出错。