ASP.NET CORE中使用SESSION

从 https://www.cnblogs.com/liuxiaoji/p/6860104.html 炒的,这里记到自己博客,以做记录,以后炒也要炒自己博客上的代码,ASP.NET CORE中使用SESSION的步骤如下 :

  1. NUGET包引用 Microsoft.AspNetCore.Session (注:我在mac下用vs for mac做的时候,NUGET根本搜索不了,都需要FQ的,自己搜索了下,加入博客园的NUGET源就可以了,而且也很快:https://nuget.cnblogs.com/v3/index.json)

  2. Startup.cs中的相应方法加入些代码:

     public void ConfigureServices(IServiceCollection services)
     {
         //添加session
         services.AddDistributedMemoryCache();
         services.AddSession();
    
         services.AddMvc();
     }
    
     // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
     public void Configure(IApplicationBuilder app, IHostingEnvironment env)
     {
         if (env.IsDevelopment())
         {
             app.UseDeveloperExceptionPage();
         }
         else
         {
             app.UseExceptionHandler("/Home/Error");
         }
    
         app.UseStaticFiles();
    
         app.UseSession(); //加上这句才能用session
    
         app.UseMvc(routes =>
         {
             routes.MapRoute(
                 name: "default",
                 template: "{controller=Home}/{action=Index}/{id?}");
         });
     }
    
  3. 以下是控制器中使用SESSION的代码,记得要先引用那个命名空间:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using candel.Models;
using Microsoft.AspNetCore.Http; //记得要引用 这个

namespace candel.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
ViewBag.msg = "你好,牛腩,哈哈哈!!!";
HttpContext.Session.SetString("username", "niunan"); //设置SESSION
return View();
}

    public IActionResult About(){
        string username = HttpContext.Session.GetString("username"); //获取SESSION
        ViewBag.username = username;
        return View();
    }


}

}

你可能感兴趣的:(ASP.NET CORE中使用SESSION)