探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)
其實任何資料里面的任何知識點都無所謂,都是不重要的,重要的是學習方法,自行摸索的過程(不妥之處歡迎指正)
匯總:http://www.cnblogs.com/dunitian/p/4822808.html#mvc
本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.網頁基礎/BMVC5/MVC5Base/Controllers/SessionController.cs
?
方法有很多,今天主要說不改代碼的那兩種(狀態服務器+數據庫)后面在說運維的時候會介紹Memcache的方案
正常的登錄:
登錄視圖:
管理頁面視圖:
控制器:
頁面效果:
登錄成功:
?
先說第一種,狀態服務器:(其實真的來臺狀態服務器到不如來臺Memcache服務器了,結合Cookies完全可以替代Session)
先去狀態服務器里面啟動一下State服務,并設置為自動啟動?(你只是開發用就不需要設置自啟動了)
然后把注冊表修改一下:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection
AllowRemoteConnection ,0僅能本機使用,1可以供其他機器使用.
最后一步:吧aspnet_state添加到安全防火墻允許列表里面:
刷新一下即可:
這時候你可以干一件事情===》你把你網站重啟看看Session還在不在~~~(答案是:在)
?
如果遇到異常就看這篇文章:http://www.cnblogs.com/dunitian/p/6131270.html
我記得有狀態服務之類的開源項目的,感興趣的可以去Github搜索看看
------------------------------------------------------------------------------------------------------------------
現在說一下數據庫充當狀態服務器的方法:
第一步注冊一下,這個數據庫可以是項目數據庫,也可以是單獨的數據庫
如果沒有SessionDB數據庫,則會自動創建一個名為SessionDB的數據庫
數據庫添加的表和存儲過程
自動生成的job負責刪除過期Session的記錄值
?
第二步,配置文件配置一下:
登錄看看:
數據庫里面有了對應的記錄
過期后就需要重新登錄了,可能有人會好奇,為啥我上圖的過期時間這么長?(⊙o⊙)…額,這個滑動時間是可以自己設置(單位:分鐘)==》<sessionState?timeout="20"></sessionState>
例如:
重新登錄一下:
過期后數據庫里面的記錄會被自動刪掉的
媽媽再也不用擔心進程外Session的問題了~
參考鏈接:https://msdn.microsoft.com/zh-cn/library/h6bb9cz9(v=vs.110).aspx
作者:毒逆天 出處:http://dunitian.cnblogs.com/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則將其追究法律責任!??????????????????????? 弱者只能獨自流淚,黯然神傷;強者卻能力挽狂瀾,一錘定音!??????????????????????????????? 0 標簽:?MVC 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些自己常用的工具类
- 下一篇: 二十四种设计模式:备忘录模式(Memen