netcore3.0使用Session


首先需要明確一點,netcore使用session不能直接使用,必須引用nuget包並做注冊之后才能使用。

例如下面的例子,若未注冊session服務會報

1 HttpContext.Session.Set(id,  Encoding.Default.GetBytes(Guid.NewGuid().ToString()));
2 HttpContext.Session.TryGetValue(id,out var value);

於是我們在啟動程序startup中進行服務注冊。引入nuget包Microsoft.AspNetCore.Session和Microsoft.AspNetCore.Http.Extension(注:netcore3.0框架已集成了這兩個包,所以貌似不需要另外安裝)。緊接着直接安裝通用方式使用,先add再use。【注意中間鍵放置的位置】

一開始沒有注意,直接使用services.AddSession(),一運行,what fack?! 報錯?什么鬼?

大概的意思就是沒有找到DistributedCache這么個東西,經過查找,發現使用Session必須開啟緩存,services.AddDistributedMemoryCache().AddSession()。問題解決,項目成功運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM