2017-01-16 92 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