色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

負(fù)載均衡服務(wù)器Session共享的解決方案

  在ASP.NET的程序中要使用Session對象時(shí),必須確保頁面的@page指令中EnableSessionState屬性是True或者 Readonly,并且在web.config文件中正確的設(shè)置了SessionState屬性。

  ASP.NET中Session的狀態(tài)保持是由web.config文件中的標(biāo)記下的標(biāo)記的mode屬性來決定的。該屬性有四種可能的值:Off、Inproc、StateServer和SQlServer。

  設(shè)為Off會(huì)禁用Session。

  Inproc是缺省的設(shè)置,這種模式和以前的ASP的會(huì)話狀態(tài)的方法是類似的,會(huì)話的狀態(tài)會(huì)被保存在ASP.NET進(jìn)程中,它的優(yōu)點(diǎn)是顯而易見的:性能。進(jìn)程內(nèi)的數(shù)據(jù)訪問自然會(huì)比夸進(jìn)程的訪問快。然而,這種方法Session的狀態(tài)依賴于ASP.NET進(jìn)程,當(dāng)IIS進(jìn)程崩潰或者正常重起啟時(shí),保存在進(jìn)程中的狀態(tài)將丟失。

  為了克服Inproc模式的缺點(diǎn),ASP.NET提供了兩種進(jìn)程外保持會(huì)話狀態(tài)的方法。

  ASP.NET首先提供了提供了一個(gè)Windows服務(wù):ASPState,這個(gè)服務(wù)啟動(dòng)后,ASP.NET應(yīng)用程序可以將mode屬性設(shè)置為 “SateServer”,來使用這個(gè)Windows服務(wù)提供的狀態(tài)管理方法。

  除了在web.config文件中設(shè)置mode屬性為StateServer外,還必須設(shè)置運(yùn)行StateServer服務(wù)器的IP地址和端口號(hào)。

  1、如果在IIS所在的機(jī)器運(yùn)行StateServer則IP地址就是127.0.0.1,端口號(hào)通常是42424.配置如下:

  mode=”StateServer”

  stateConnectionString="tcpip=127.0.0.1:42424"

  2、找一臺(tái)服務(wù)器作為Session服務(wù)器(如IP為:192.168.1.244),啟動(dòng)其Windows中的ASP.NET State Service(默認(rèn)的端口號(hào)為42424),把啟動(dòng)類型改為自動(dòng);
  3、修改Session服務(wù)器注冊表中的項(xiàng) HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services /ASPNET_state/Parameters中的AllowRemoteConnection 鍵的值為1,其中的Port鍵控制ASP.NET State Service的監(jiān)聽端口;修改后需要重啟ASP.NET State Service才生效;

  4、每臺(tái)服務(wù)器的web.config 的stateConnectionString都指向這臺(tái)服務(wù)器

  使用這種模式,會(huì)話狀態(tài)的存儲(chǔ)將不依賴IIS進(jìn)程的失敗或者重啟,會(huì)話的狀態(tài)將存儲(chǔ)在StateServer進(jìn)程的內(nèi)存空間中。

  另一種會(huì)話狀態(tài)模式是SQLServer模式。這種模式是將會(huì)話的狀態(tài)保存在SQL Server數(shù)據(jù)庫中的。使用這種模式前,必須至少有一臺(tái)SQL Server服務(wù)器,并在服務(wù)器中建立需要的表和存儲(chǔ)過程。.NET SDK提供了兩個(gè)腳本來簡化這個(gè)工作:InstallSqlState.sql和UnInstallSqlState.sql。這兩個(gè)文件存放在下面路徑中:

  system drive/WINNT/Microsoft.NET/Framework/version/

  要配置SQL Server 服務(wù)器,可以在命令行中運(yùn)行SQL Server提供的命令行工具osql.exe

  osql -s [server name] -u [user] -p [password]

  例如:

  osql -s (local) -u as -p “”-i InstallSqlState.sql

  做好必要的數(shù)據(jù)庫準(zhǔn)備工作后,將web.config文件中的sessionstate元素的mode屬性改為”sqlserver”,并指定 SQL連接字符串。具體如下:

  mode="SQLServer"

  sqlConnectionString="data source=127.0.0.1;userid=sa;password=;Trusted_Connection=yes"

  使用SQLServer模式處了可以使Session的狀態(tài)不依賴于IIS服務(wù)器之外,還可以利用SQL Server的集群,使?fàn)顟B(tài)存儲(chǔ)不依賴于單個(gè)的SQL Server,這樣就可以為應(yīng)用程序提供極大的可靠性。

NET技術(shù)負(fù)載均衡服務(wù)器Session共享的解決方案,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 嘉义市| 图们市| 聂荣县| 通道| 无锡市| 陆良县| 驻马店市| 赤城县| 平昌县| 潞西市| 南城县| 隆子县| 灵宝市| 洛扎县| 井陉县| 南丰县| 贵南县| 富平县| 甘孜县| 米易县| 巴楚县| 都兰县| 彩票| 内丘县| 安国市| 沐川县| 湖北省| 盐城市| 个旧市| 深圳市| 吐鲁番市| 文山县| 麦盖提县| 凌源市| 贵州省| 塘沽区| 富裕县| 随州市| 上虞市| 瑞昌市| 宣城市|