|
一:有些殺病毒軟件會(huì)去掃描您的Web.Config文件,那時(shí)Session肯定掉,這是微軟的說(shuō)法。
二:程序內(nèi)部里有讓Session掉失的代碼,及服務(wù)器內(nèi)存不足產(chǎn)生的。 三:程序有框架頁(yè)面和跨域情況。 第一種解決辦法是:使殺病毒軟件屏蔽掃描Web.Config文件(程序運(yùn)行時(shí)自己也不要去編輯它) 第二種是檢查代碼有無(wú)Session.Abandon()之類的。
第三種是在Window服務(wù)中將ASP.NET State Service 啟動(dòng)。 第四種:使用window.showModalDialog進(jìn)行信息的提示,相當(dāng)方便,也容易控制外觀和布局。但是存在一個(gè)嚴(yán)重的問(wèn)題,就是Session丟失。當(dāng)在A頁(yè)面進(jìn)行showModalDialog時(shí),彈出的模態(tài)窗口open新頁(yè)面或new dialog()時(shí),會(huì)得不到A頁(yè)面中的Session,這樣就嚴(yán)重地限制了他的使用范圍。
進(jìn)一步的使用模式窗口可以發(fā)現(xiàn)session的丟失總是便隨頁(yè)面的刷新
1.在普通頁(yè)面中彈出模式窗口且進(jìn)行new dialog()操作時(shí) 會(huì)造成該進(jìn)程中所有頁(yè)面session的丟失
2.在模式窗口嵌套使用時(shí) 彈出的模式窗口并不會(huì)使父模式窗口的session丟失 但是會(huì)取不到父模式窗口的值
3.在彈出的模式窗口中使用js腳本需要驗(yàn)證表單時(shí) 如果出現(xiàn)return true or false之類的語(yǔ)句,會(huì)造成模態(tài)窗口session的丟失。
用showModalDialog經(jīng)常出現(xiàn)這樣那樣奇怪的問(wèn)題,因此最好少用showModalDialog。替代的方法就是用DIV來(lái)模擬實(shí)現(xiàn)模式窗口相同的功能。
本篇文章來(lái)源于 麥客學(xué)吧 原文鏈接:http://x8./tech/net/17984.html |
|
|