如何讓IIS下多個虛擬目錄共享Session


每個虛擬目錄相當於是一個應用,其中的Session是不共享的,不過你的Session存儲方式設置成了 inpro,stateserver還是SQLSERVE,同樣都實現不了Session共享。

但如果使用SQLSERVER數據庫存儲Session,則可以變相的時限共享,方法如下:

首先設置虛擬目錄的Session存儲在SQL上SERVER:

步驟一:創建ASPState數據庫

打開CMD

進入:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

執行

aspnet_regsql.exe -S . -U sa -P 123456 -ssadd -sstype p

-s 就是服務器地址用.表示本地

-ssadd添加

-sstype p session存儲在ASPState數據庫中 如果是t 就存在tempdb

會話數據庫創建好后。

步驟二.在虛擬目錄里web.config添加一個配置節點:

在<system.web>節點內添加

<sessionState mode="SQLServer" sqlConnectionString="server=127.0.0.1; uid=sa; pwd=sa;" cookieless="false" timeout="50"/>

配置節點。

弄好了,會話信息就存在在數據庫中了。

打開數據庫的ASPState庫,查看存儲過程“[TempGetAppID]” 修改它

查找這段語句:SET @appName =LOWER(@appName)

修改成SET @appName="入口虛擬目錄"

修改好后,在入口虛擬目錄中設置了session后,其他地方都可以共用該session了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM