2017-01-16 97 views
-1

我想在会议存储MVC项目中制作购物车,但Session变量不起作用。它不会将会话显示为智能感知。MVC会话不起作用

enter image description here

也许 “会话” 变量被删除或MVC CORE更改名称?我一直被困在这个问题上,并且无法找到与问题相关的任何事情。

+0

是什么错误消息说优秀的帖子? – mason

+0

“名称'会话'在当前比赛中不存在' – Patte

+1

你的配置中是否有'app.UseSession();'app.UseMvc'之前?你有没有试过通过'HttpContext.Session'获取Session?你有没有谷歌“会话asp.net mvc核心”,看看别人在做什么? – mason

回答

2

你应该从注入的IHttpContextAccessor实现中获得Session。

所以在你的类

private ISession _session; 
public MyClassName(IHttpContextAccessor httpContextAccessor) //constructor 
{ 
    this._session = httpContextAccessor.HttpContext.Session; 
} 

现在您的操作方法,你可以使用Set方法。

public IActionResult OrderNow() 
{ 
    _session.Set("myKey",myObjectByteArray); 
    //to do : return something 
} 

假设你已经在你的应用程序启用会话完成initial setup

我还建议你阅读这篇有关会议

Think twice about using session state