国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一個關于session使用的討論

2019-11-18 16:42:46
字體:
來源:轉載
供稿:網友

由于我前段時間在使用一個在一個本頁的查詢里使用了session存儲了一個dataset,

我的一起學.net的朋友就說我那樣是浪費資源。會降低性能的

我首先考慮的是session存儲在那里的

是客服端還是在服務器端呢

下面有篇文章給了我明確的解釋

是可以在服務器上也可以在本機上的。還可以是存儲在mssql里的

那樣我就不用擔心使用太多的session會降低服務器的性能了,

具體的測試我還沒做過,我想那樣強大的一個東西,不會是就有存一些小東西用的吧。在窗體件的通信方面我決得是很好用的一個東西,

文章的內容如下:

Session丟失已經是一種習以為常的問題了,在自己也了解一些如何解決的問題,但是也一直沒有機會去用,現在由于新的項目要在B/S下開發,所以不得不讓我考慮Session的問題。

解決session丟失的問題有兩種方法:1)將session保存在一臺sate server中。2)將session保存在sql server中。我們使用的數據庫Oracle,不想再裝一個數據庫,所以用了第一種方法。

首先根據網上查的資料對webconfig文件中session部分進行修改。如下:

<sessionState
  mode="StateServer"
  cookieless="false"
  timeout="240"
  stateConnectionString="tcp  stateNetworkTimeout="14400"
 />
 <machineKey
  validationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4"
  decryptionKey="5FC88DFC24EA123C"
  validation="SHA1"
 />

然后再在10.164.222.122 這臺電腦上的asp.net state server 服務啟動

這樣基本上就行了。體驗一下。

我用了一個測試程序,在3個小時以后session仍然可用,更絕的是我的電腦都重起了,在其它電腦上打開的網頁中session仍然可用。一番體驗以后,感覺還真不錯。

.NET Framework 常規參考

<sessionState> 元素
為當前應用程序配置會話狀態設置。

<configuration>
<system.web>
<sessionState>

<sessionState mode="Off|Incookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"/>
必選屬性
屬性 選項 說明
mode 指定在哪里存儲會話狀態。
Off 指示會話狀態未啟用。
InProc 指示在本地存儲會話狀態。
StateServer 指示在遠程計算機上存儲會話狀態。
SQLServer 指示在 SQL Server 上存儲會話狀態。

可選屬性
屬性 選項 說明
cookieless 指定不具有 Cookie 的會話是否應用于標識客戶端會話。
true 指示應使用不具有 Cookie 的會話。
false 指示不應使用沒有 Cookie 的會話。默認值為 false。
timeout 指定在放棄一個會話前該會話可以處于空閑狀態的分鐘數。默認值為 20。
stateConnectionString 指定遠程存儲會話狀態的服務器名稱和端口。例如“tcpip=127.0.0.1:42424”。當 mode 為 StateServer 時該屬性是必需的。
sqlConnectionString 為 SQL Server 指定連接字符串。例如“data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind”。當 mode 為 SQLServer 時該屬性是必需的。
stateNetworkTimeout 在使用 StateServer 模式存儲會話狀態時,指定在放棄會話之前 Web 服務器和狀態服務器之間的 TCP/IP 網絡連接空閑的時間(以秒為單位)。默認值為 10。

備注
使用 StateServer 模式

確保運行 ASP.NET 狀態服務的服務器是要存儲會話狀態信息的遠程服務器。該服務與 ASP.NET 一起安裝,其默認位置為 <驅動器>:/systemroot/Microsoft.NET/Framework/version/aspnet_state.exe。
在應用程序的 Web.config 文件中,設置 mode=StateServer 并設置 stateConnectionString 屬性。例如,stateConnectionString="tcpip=sarath:42424"。
使用 SQLServer 模式

在運行 SQL Server 的計算機(它將存儲會話狀態)上運行 InstallSqlState.sql(默認的安裝位置為 <驅動器>:/systemroot/Microsoft.NET/Framework/version)。這將創建一個名為 ASPState 的數據庫,該數據庫具有新的存儲過程并且在 TempDB 數據庫中具有 ASPStateTempapplications 表和 ASPStateTempSessions 表。
在應用程序的 Web.config 文件中,設置 mode=SQLServer 并設置 sqlConnectionString 屬性。例如,sqlConnectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。
示例
以下示例指定若干會話狀態配置設置。

<configuration>
<system.web>
<sessionState mode="InProc"
cookieless="true"
timeout="20"/>
</sessionState>
</system.web>
</configuration>
要求
包含于:<system.web>

Web 平臺:IIS 5.0、IIS 5.1、IIS 6.0

配置文件:Machine.config、Web.config

配置節處理程序:System.Web.SessionState.SessionStateSectionHandler
 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1489931


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双柏县| 醴陵市| 社旗县| 福海县| 十堰市| 铅山县| 商水县| 哈巴河县| 米林县| 延津县| 莱芜市| 玉屏| 敦煌市| 通许县| 蕉岭县| 平果县| 罗城| 日喀则市| 阜新市| 民勤县| 韶关市| 鄂伦春自治旗| 北海市| 鄂伦春自治旗| 通渭县| 荆门市| 合山市| 昆明市| 古丈县| 南漳县| 洛宁县| 呼伦贝尔市| 揭西县| 北川| 云南省| 旬阳县| 申扎县| 昂仁县| 绥宁县| 佳木斯市| 大石桥市|