配置:html
<configuration> <appSettings> <add key="Domain" value=".wubaobao.com"/></appSettings></configuration><system.web> <machineKey decryptionKey="FD69B2EB9A11E3063518F1932E314E4AA1577BF0B824F369" validationKey="5F32295C31223A362286DD5777916FCD0FD2A8EF882783FD3E29AB1FCDFE931F8FA45A8E468B7A40269E50A748778CBB8DB2262D44A86BBCEA96DCA46CBC05C3" validation="SHA1" decryption="Auto"/> <sessionState cookieless="false" timeout="50" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/></system.web>
參考:web
添加Global.asax:sql
<%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // 在應用程序啓動時運行的代碼 } void Application_End(object sender, EventArgs e) { // 在應用程序關閉時運行的代碼 } void Application_Error(object sender, EventArgs e) { // 在出現未處理的錯誤時運行的代碼 } void Session_Start(object sender, EventArgs e) { string Domain = ConfigurationManager.AppSettings["Domain"]; // 在新會話啓動時運行的代碼 foreach (string key in Context.Response.Cookies.Keys) { Context.Response.Cookies[key].Domain = Domain; //重寫子域下的Cookie.Domain 設置爲與其餘域相同的Domain } } void Session_End(object sender, EventArgs e) { // 在會話結束時運行的代碼。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式設置爲 // InProc 時,纔會引起 Session_End 事件。若是會話模式設置爲 StateServer // 或 SQLServer,則不會引起該事件。 } </script>
補充一點知識吧!(下面爲網上資源)數據庫
配置當前應用程序的會話狀態設置。服務器
配置結構的示例:cookie
<configuration>
<system.web>
<sessionState>網絡
<sessionState mode="Off|InProc|StateServer|SQLServer" cookieless="true|false" timeout="number of minutes" stateConnectionString="tcpip=server:port" sqlConnectionString="sql connection string" stateNetworkTimeout="number of seconds"/>
屬性 | 選項 | 描述 |
---|---|---|
mode | 指定存儲會話狀態的位置。 | |
Off | 指示會話狀態沒有啓用。 | |
InProc | 指示本地存儲會話狀態。 | |
StateServer | 指示在遠程服務器上存儲會話狀態。 | |
SQLServer | 指示在 Microsoft 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 模式session
使用 SQLServer 模式app
如下示例指定了幾種會話狀態配置設置。less
<configuration> <system.web> <sessionState mode="InProc" cookieless="true" timeout="20"/> </sessionState> </system.web> </configuration>