提问者:小点点

C#ASP。NET核心MVC需要对象引用


我正在尝试从访问会话。cshtml页面:

@using Microsoft.AspNetCore.Http
...
<div>
     @HttpContext.Session.GetString("role");

</div>

控制器:

public class TestController: Controller
{
     public IActionResult UserLogin(DVAAccount user)
     {
         ....
       
         HttpContext.Session.SetString("role", user.UserRole);

         return View("Index");
     }
}

但是我似乎无法在前端检索会话


共1个答案

匿名用户

mvc通常不使用会话,所以您需要在启动时添加一些代码来使用它

services.AddDistributedMemoryCache();

services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromSeconds(10);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
});


.....

//app.UseRouting();

//app.UseAuthorization();

app.UseSession();

如果使用NET6,则必须使用builder。服务代替服务