nginx Win下實現簡單的負載均衡(3)Session的SqlServer模式配置
快速目錄:
一、nginx Win下實現簡單的負載均衡(1)nginx搭建部署
二、nginx Win下實現簡單的負載均衡(2)站點共享Session
三、nginx Win下實現簡單的負載均衡(3)Session的SqlServer模式配置
Sql Server 中 Session的SqlServer模式的配置
很多時候,由於各種莫名其妙的原因,會導致session丟失。不過ASP.NET還允許將會話資料儲存到一個資料庫伺服器中,方法是將mode屬性變成SqlServer。 在這種情況下,ASP.NET嘗試將會話資料儲存到由sqlConnectionString屬性(其中包含資料來源以及登入伺服器所需的安全憑證)指定的SQL Server中,這樣能夠保證session丟失的問題。
1、 配置ASPState Session 資料庫
在命令列下執行如下命令:aspnet_regsql.exe -ssadd -sstype p -S <SQL Server IP> -U <User Name> -P <Password>,
該命令對此應用進行了持久化操作。這時會看到多一個ASPState資料庫,裡面兩張表,ASPStateTempSessions就可以用來儲存Session。
注:<SQL Server IP>為資料庫例項名,<User Name>為sa(或與sa同等許可權的),<Password> 為 sa使用者名稱的密碼
2、專案應用
新建一個web測試專案,在加入如下程式碼:Session["SessionID"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Response.Write(Session["SessionID"]);
web.config 中增加
<sessionState mode="SQLServer" timeout="40" allowCustomSqlDatabase="false" sqlConnectionString="data source=xxx;uid=sa;password=sasa"/>
執行該網站,之後檢視資料庫ASPState中的資料表ASPStateTempSessions增加了一條資料
注意:只有在寫session 的時候,才會在ASPStateTempSessions表裡增加了一條session記錄。
1. SessionId包括兩個部分:網站生成的24位SessionID及8位AppID,AppName對於不同的站點,其AppName不同,在能夠在不同站點下使24位SessionID相同的情況下。
2. Created和Expires是這個Session的建立日期和有效期 這個有效期是根據配置檔案中TimeOut算出來的,雖然時間達到有效期了 但是還能獲取到session(不知道這個有效期有什麼用,但是用SqlServer的Session的模式 就是為了不掉線,這點也符合了這個初衷)
3. LockData與LockDataLocal都是最後一次更新Session的時間 (每次操作該Session的時候,它的有效期都會改變)。
4. TimeOut是配置檔案中配置的超時分鐘數(這裡的1是我測試超時時間的時候臨時在配置檔案中改的,預設是20).
5. SessionItemShort是真正的Session的內容,資料型別是varbinary(7000),存的內容可以是int string 等常用型別,如果是集合或是物件,則必須是可序列化的([Serializable]可序列化的屬性)。
注意:要設定Session過期刪除,啟動SQL server 代理中的作業完成。
雙擊開啟其實執行的是一個儲存過程的sql指令碼
由請喊我大龍哥最後編輯於:3年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- nginx Win下實現簡單的負載均衡(2)站點共享SessionNginx負載Session
- nginx Win下實現簡單的負載均衡(1)nginx搭建部署Nginx負載
- Nginx實現簡單的負載均衡Nginx負載
- 做了反向代理和負載均衡的nginx配置檔案簡單示例(nginx.conf) HTTP負載均衡/TCP負載均衡負載NginxHTTPTCP
- 簡單實踐搭建 nginx 負載均衡Nginx負載
- 【Nginx】Windows平臺下配置Nginx服務實現負載均衡NginxWindows負載
- nginx實現負載均衡Nginx負載
- Python實現簡單負載均衡Python負載
- Nginx負載均衡模式Nginx負載模式
- Linux下玩轉nginx系列(五)---nginx實現負載均衡LinuxNginx負載
- Nginx實現請求的負載均衡 + keepalived實現Nginx的高可用Nginx負載
- nginx+tomcat實現負載均衡NginxTomcat負載
- docker下nginx反向代理和負載均衡配置DockerNginx負載
- nginx配置+uwsgi+負載均衡配置Nginx負載
- 在 Linux 上用 DNS 實現簡單的負載均衡LinuxDNS負載
- Nginx 高階篇(三)負載均衡的實現Nginx負載
- Nginx/Httpd負載均衡tomcat配置Nginxhttpd負載Tomcat
- 使用Nginx配置TCP負載均衡NginxTCP負載
- Nginx專題(2):Nginx的負載均衡策略及其配置Nginx負載
- Nginx如何實現四層負載均衡?Nginx負載
- Keepalived實現Nginx負載均衡高可用Nginx負載
- Docker Compose+nginx實現負載均衡DockerNginx負載
- LVS和Nginx實現負載均衡功能的比較Nginx負載
- Nginx 動靜分離與負載均衡的實現Nginx負載
- nginx安裝及負載均衡配置Nginx負載
- 使用Redis儲存Nginx+Tomcat負載均衡叢集的SessionRedisNginxTomcat負載Session
- nginx實現兩臺服務負載均衡Nginx負載
- nginx讓多個tomcat實現負載均衡NginxTomcat負載
- Nginx如何實現負載均衡釋出策略?Nginx負載
- 技術|如何為MySQL MGR實現簡單的負載均衡代理?MySql負載
- nginx負載均衡Nginx負載
- NGINX 負載均衡Nginx負載
- 【Nginx】負載均衡Nginx負載
- 【Nginx】如何實現Nginx的高可用負載均衡?看完我也會了!!Nginx負載
- DockerCompose編排Nginx+Mysql並實現Nginx配置Mysql(TCP協議)負載均衡DockerNginxMySqlTCP協議負載
- centos7下配置nginx反向代理負載均衡叢集CentOSNginx負載
- .Net Core+Nginx實現專案負載均衡Nginx負載
- Consul-template+nginx實現自動負載均衡Nginx負載