2013年1月31日 星期四

IIS 設定工作階段逾時 (IIS 7) session

http://technet.microsoft.com/zh-tw/library/cc725820(v=ws.10).aspx


設定工作階段逾時 (IIS 7)

本主題尚未接受評分 為這個主題評分
適用於: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista
當您的應用程式啟用了工作階段狀態之後,使用者會在第一次從您的 Active Server Pages (ASP) 應用程式要求網頁時收到唯一的工作階段識別碼。 根據預設,當使用者在 20 分鐘內沒有要求或重新整理 ASP 應用程式中的網頁時,工作階段就會逾時。 由於 Session 物件會耗用網頁伺服器上的記憶體,您可能要降低逾時值,以節省資源。
Important重要
調整逾時值的時候要特別小心,因為當逾時發生時使用者的 Session 物件中存放的資訊會遺失。

必要條件

如需您可以執行此程序之層級以及執行此程序所需之模組、處理常式及權限的資訊,請參閱 工作階段狀態功能的需求 (IIS 7)
功能需求的例外

若要設定工作階段逾時

您可以透過使用者介面 (UI)、在命令列視窗執行 Appcmd.exe 命令、直接編輯設定檔案,或撰寫 WMI 指令碼來執行此程序。

使用者介面

若要使用 UI

  1. 開啟 IIS 管理員並巡覽至您要管理的層級。 如需開啟 IIS 管理員的資訊,請參閱開啟 IIS 管理員 (IIS 7)。 如需巡覽至 UI 中之位置的相關資訊,請參閱 IIS 管理員中的瀏覽 (IIS 7)
  2. 在 [功能檢視] 中,按兩下 [ASP]。
  3. 在 [ASP] 頁面的 [服務] 下方,展開 [工作階段內容]。
  4. 在 [逾時] 欄位中,以 hh:mm:ss 格式輸入逾時值, 例如輸入 00:15:00 表示 15 分鐘。
  5. 在 [動作] 窗格中,按一下 [套用]。

命令列

若要指定在上次發出與 Session 物件相關的要求之後,該物件的預設保留時間,請使用下列語法:
appcmd set config /section:asp /timeout: timeSpan
變數 timeSpan 表示在上次發出與 Session 物件相關的要求之後,該物件的最大保留時間 (hh:mm:ss)。 預設值為 00:20:00。
如需 Appcmd.exe的詳細資訊,請參閱 Appcmd.exe (IIS 7)

設定

本主題中的程序會影響下列設定元素:
  • <sessionState>
  • <sessionPageState>
如需 IIS 7 設定的詳細資訊,請參閱 MSDN 上的 IIS 7.0:IIS 設定結構描述 (英文)

WMI

使用下列 WMI 類別、方法或屬性來執行此程序:
  • SessionStateSection.Timeout 屬性

Session設定 參考


參考網址

http://www.dotblogs.com.tw/darren.net/archive/2009/02/05/7043.aspx


[ASP.NET][Session] Seeeion設定(一)- Session特性與在Web.config的常用設定

一.由IIS產生Session並給予一組24字元的SessionID

二.在需要回傳資料給伺服器時由瀏覽器將SessionID附加在HTTP訊息標頭中傳回給IIS做為身份辨識,伺服器處理完資料後依照SessionID回傳給個別的Client端
三.Session在Web.config的常用設定
1.在<System.Web>標籤內
< sessionState
mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
stateNetworkTimeout="number of seconds" 
sqlConnectionString="sql connection string"
sqlCommandTimeout ="number of seconds"
/>

ex.
<sessionState 
mode="StateServer" 
stateConnectionString="tcpip=127.0.0.1:42424" 
stateNetworkTimeout="10" 
cookieless="false" 
timeout="20" 
/>
2.常用屬性介紹

必須有的屬性
(A)mode : 設定Session的狀態為關閉或儲存方式,其參數如下...
    (a) OFF: 不使用Session.
    (b) InProc: 與ASP的Session儲存方式相同,與IIS的狀態有關係.(跟隨IIS程序執行而存在,若IIS關閉或重新啟動則Session消失)
    (c) StateServer: 儲存在獨立的狀態下,與IIS的狀態無關係.
    (d) SQLServer: 儲存在SQL資料庫裡,與IIS的狀態無關係.
可選擇的屬性
(A) cookieless 
    (a) True : 使用Cookieless模式,不使用Client端瀏覽器Cookie改為透過URL傳送SessionID.
                     ex. ttp://localhost/MyTestApplication/(tgdde33errret225f1gdfd) /default.aspx
                     粗體字部分為IIS自動加上(括號內為SessionID),不影響之前的連結.
    (b) False : 使用Cookie模式,預設值),Client端瀏覽器Cookie須開啟(Session在Client端是以Cookie的型態存在)。
(B) timeout : 有效時間(分鐘數),預設值為20分鐘.
(C) stateConnectionString : 若mode為StateServer必須設定此屬性,例如:"tcpip=127.0.0.1:42424”。
(D) stateNetworkTimeout : 若mode為StateServer必須設定此屬性,設定StateServer模式儲存Session的時間,預設值10秒.
(E) sqlConnectionString : 若mode為SQLServer必須設定此屬性,例如"data source=localhost;Integrated Security=SSPI;Initial   Catalog=northwind"。
(F) sqlCommandTimeout : 若mode為SQLServer必須設定此屬性,設定SQLServer模式儲存Session的時間,預設值10秒.