91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Session時間永久有效怎么實現

發布時間:2022-09-28 15:41:10 來源:億速云 閱讀:188 作者:iii 欄目:編程語言

本文小編為大家詳細介紹“Session時間永久有效怎么實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Session時間永久有效怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

原理:在B/S系統中,如果用戶在Session超時時間前與服務器進行了交互,那么將不會超時。所以我們只要模擬用戶在Session超時前和服務器進行交互就可以實現Session的永久有效。

1. 將如下JavaScript代碼放置在系統使用中一直顯示的頁面中,如在框架頁面中,你可以將如下代碼放置在Banner框架、Bottom框架、左側一直顯示的菜單框架,或者是一個隱藏框架中。如果是非框架頁面,那么可以放置在不會被用戶關閉的頁面中,如主菜單頁面。這樣的目的是保證頁面始終存在,從而其中的JavaScript代碼可以是中在執行。

<!-- 用于從服務器上請求.aspx文件的JavaScript腳本塊; -->
 < script language = " javascript "  id = " KeepSessionAliveScriptBlock " >
 </ script >
 < script language = " javascript " >
    // 用于循環調用服務器.aspx文件的JavaScript函數;
     keepSessionAlive(); </ script >

2. 在.js文件中添加keepSessionAlive()函數,函數體如下:

 /**
   *summary: 通過定時請求服務器的某個頁面(.aspx)文件來保證Session不會超時。
 *created: liguozhu(李國珠)
   *modifty,content: [修改者,修改內容說明]
   *
   *created time: 2007-11-22
   */
    function  keepSessionAlive()    {        document.all["KeepSessionAliveScriptBlock"].src = "/BJAssess/YearAssessSubSystem/Resource/WebForm3.aspx?RandStr="+Math.random();        //這里的RandStr=Math.random只是為了讓每次back.src的值不同,防止同一地址刷新無效的情況
        window.setTimeout("keepSessionAlive()",30000); 
   }

這里document.all["KeepSessionAliveScriptBlock"] 這里引用了頁面上<script language="javascript" id="KeepSessionAliveScriptBlock"></script>的程序塊對象,其中的src屬性指向的是需要打開的文件。一般src 應該指向的是.js文件,這個效果就是將js文件中的內容加入到程序塊中,然后再進行執行。如:src = "testJS.js", 而testJS.js文件中如果有一句window.alert("Life Is Good!");,那么執行了代碼后頁面會彈出"Life Is Good"的信息提示框。其實javascript程序塊的src屬性并不會在意引用的是否是.js文件,它僅僅是打開指定的文件,然后將文件內容按照JavaScript的方式進行執行,當然如果你打開文件的內容中不是合法的JavaScript內容,那么將不執行內容。

這里設置src的頁面路徑需要注意的是為了防止各個調用頁面的路徑不同,這里建議采用自上而下的路徑方式,如例子中的路徑就是BJAssess項目,然后一級級的找到需要調用的.aspx頁面文件。為了放置IE讀取緩存的情況,這里在讀取.aspx頁面文件的URL中增加一個隨機數。

window.setTimeout用于定時(例子中設置的是3000毫秒,即半分鐘)重復執行keepSessionAlive()一次,這里的時間可以自行設置為小于Session超時的任何時間。這個每隔半分鐘的請求WebForm3.aspx頁面的操作就是實現了前面“原理”中描述模擬用戶操作和服務器進行交互,從而保證Session不超時的功能。

3. 在對應的路徑下建立一個用于請求的.aspx頁面文件,例子中是WebForm3.aspx。這里需要在HTML源碼模式將所有HTML代碼刪除,因為如果不刪除這些代碼,ASP.NET在解析.aspx文件后會產生一個完整的HTML頁面代碼,這樣如果再嵌到前面的<script language="javascript"></script>腳本塊中就會由于<html>, <head>, <body>

等標簽出現重復而保錯,在IE中顯示的錯誤是“語法錯誤”。寫到這里,可能會有人說既然不能產生完整的HTML頁面代碼,那么為什么不直接使用.ascx(用戶自定義Web控件)呢?直接請求.ascx是不行的,我目前想到的原因是“你在瀏覽器中是無法直接請求一個.ascx文件的”,如果你在瀏覽器中直接請求.ascx那么瀏覽器會返回無法訪問的錯誤。所以你在javascript.src = "xxx.ascx"文件的時候,實際上是請求不成功的。

到此為止實現永久Session的步驟就完成了。這里還需要特別說明一下,在網絡上看到有些帖子說需要在請求的頁面,如:.aspx頁面中調用代碼Session("xxx") = "xxx"。其中Session("xxx")是隨便的一個Session值,目的是為了調用Session來保證Session不過期,實際上這個操作是沒有必要的,原因是(在.NET Framework 1.1的環境下)在請求系統頁面的時候,如最常見的是請求Login.aspx界面,這個時候針對此次回話的SessionID和Session就已經生成了,其他所有的Session("xxx")操作都是對于這個Session列表中具體Item的操作。所以只要你與服務器進行了交互,那么服務器就會驗證你的SessionID,對應的Session是否過期,如果沒有,那么就延后過期時間。

讀到這里,這篇“Session時間永久有效怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中宁县| 北票市| 南宁市| 清水河县| 呼伦贝尔市| 论坛| 库尔勒市| 武功县| 堆龙德庆县| 昭苏县| 江达县| 龙山县| 霍山县| 安康市| 德清县| 贡嘎县| 西藏| 龙泉市| 盐边县| 融水| 泽州县| 明溪县| 惠东县| 谢通门县| 敦化市| 八宿县| 嵩明县| 盈江县| 柞水县| 荔浦县| 上高县| 房山区| 昌吉市| 上林县| 涟水县| 根河市| 谢通门县| 日照市| 怀仁县| 浦北县| 平山县|