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實現簡單的負載均衡Nginx負載
- nginx Win下實現簡單的負載均衡(1)nginx搭建部署Nginx負載
- Nginx簡單的負載均衡配置示例Nginx負載
- 用Nginx實現Session共享的均衡負載NginxSession負載
- 簡單實踐搭建 nginx 負載均衡Nginx負載
- 【Nginx】Windows平臺下配置Nginx服務實現負載均衡NginxWindows負載
- nginx實現負載均衡Nginx負載
- Nginx反向代理+負載均衡簡單實現(https方式)Nginx負載HTTP
- Nginx負載均衡模式Nginx負載模式
- Nginx + IIS 實現負載均衡Nginx負載
- nginx + tomcat 叢集配置詳解, 實現負載均衡 URLRewrite Session複製NginxTomcat負載Session
- Nginx實現叢集的負載均衡配置過程詳解Nginx負載
- 【nginx】用Redware、Nginx、Keepalive實現的負載均衡Nginx負載
- docker下nginx反向代理和負載均衡配置DockerNginx負載
- nginx配置+uwsgi+負載均衡配置Nginx負載
- Linux下玩轉nginx系列(五)---nginx實現負載均衡LinuxNginx負載
- Nginx 高階篇(三)負載均衡的實現Nginx負載
- 使用Nginx配置TCP負載均衡NginxTCP負載
- Nginx負載均衡配置說明Nginx負載
- Nginx實現請求的負載均衡 + keepalived實現Nginx的高可用Nginx負載
- Nginx如何實現四層負載均衡?Nginx負載
- nginx+tomcat實現負載均衡NginxTomcat負載
- Nginx專題(2):Nginx的負載均衡策略及其配置Nginx負載
- 配置apache和nginx的tomcat負載均衡ApacheNginxTomcat負載
- 在 Linux 上用 DNS 實現簡單的負載均衡LinuxDNS負載
- Nginx 動靜分離與負載均衡的實現Nginx負載
- Nginx+Tomcat+Redis實現負載均衡、資源分離、session共享NginxTomcatRedis負載Session
- Nginx/Httpd負載均衡tomcat配置Nginxhttpd負載Tomcat
- Keepalived實現Nginx負載均衡高可用Nginx負載
- nginx實現兩臺服務負載均衡Nginx負載
- Docker Compose+nginx實現負載均衡DockerNginx負載
- NGINX 負載均衡Nginx負載
- 【Nginx】負載均衡Nginx負載
- nginx負載均衡Nginx負載
- LVS負載均衡下session共享的實現方式-持久化連線負載Session持久化
- 技術|如何為MySQL MGR實現簡單的負載均衡代理?MySql負載
- 基於Nginx的軟體負載均衡實現解讀Nginx負載