有關(guān)ASP.NET Session State的一些問答
Q:啟動的ASP.NET Session State服務(wù),是不是我生產(chǎn)環(huán)境里面,多個(gè)程序凡是調(diào)用這個(gè)服務(wù)存SESSION的話,他們的SESSION管理都放在同一個(gè)進(jìn)程里面進(jìn)行管理的?
A:ASP.NET Session State服務(wù)應(yīng)該是一個(gè)統(tǒng)一的管理器。與站點(diǎn)無關(guān)。就像iis admin管理多個(gè)站點(diǎn)類似
Q:比如說我有二個(gè)ASP.NET的站點(diǎn)在web.config里面都這么設(shè)置
- < sessionstate mode="stateserver" stateconnectionstring="tcpip=localhost:42424" timeout="60"/>
是不是session的管理都放在同一個(gè)sessoin state 管理器里面進(jìn)行自行管理
那這個(gè)進(jìn)程有沒有回收呢,如果這樣一回收,那不是所有的session都沒有了嗎(不是重啟服務(wù)器)
A:timeout屬性可以設(shè)置過期時(shí)間,過期將被清除。
Q:那有必要設(shè)置machineKey嗎?我現(xiàn)在幾個(gè)網(wǎng)站里面都只加了這么一句sessionstate的設(shè)置,這樣會不會引起沖突(1臺服務(wù)器多個(gè)站點(diǎn))?還有machineKey 這個(gè)是一個(gè)什么東西,有什么作用,里面的值是從哪里取到的?
A:machineKey的設(shè)置:
- < machineKey
- validationKey="AutoGenerate,IsolateApps"
- decryptionKey="AutoGenerate,IsolateApps"
- validation="SHA1"
- decryption="Auto"
- />
具體請參考這篇文章。
Q:這個(gè)aspnet_stat.exe進(jìn)程會不會像w3wp.exe那樣回收呢,如果會回收那不慘了,一下子所有的session都沒有拉。
A:進(jìn)程都是在內(nèi)存里執(zhí)行的,除非內(nèi)存不足會回收的。不然的話, session server沒意義的,不是像sqlserver session那樣存儲。這個(gè)是隨系統(tǒng)服務(wù)啟動而啟動停止而停止的,當(dāng)然你可以手動結(jié)束進(jìn)程。
以上就是有關(guān)ASP.NET Session State的一些問答。
【編輯推薦】

















