• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP.Net中Session失效的一種編程思路

    發布: 2008-4-08 14:01 | 作者: 不詳 | 來源: 教學網 | 查看: 69次 | 進入軟件測試論壇討論

    領測軟件測試網 在寫一個客戶的B/S結構應用程序時,突然發現一個技巧,不知道是否是MS的一個BUG,給相關的有研究的朋友原先考慮寫一個檢查Session的類,Session失效后,必須轉向登陸頁面,可每一個調用該類的頁面,在不同的Web路徑下,所以轉到登陸頁面的URL都不同,每個頁面都要調用和設置登陸頁面路徑,所以實際應用就放棄了這一想法后來考慮到不如寫一個檢查Session失效的頁面,由客戶端每一秒都刷新一下,就可以在一個頁面中調用,但通過FRAME嵌入該ASPX老時有請求發出,不太好看,雖然該頁面是隱藏的.再后來,想想,就用一個頁面,使用無刷新技術,去請求該失效Session的頁面就可以了,此處的無刷新技術使用了XMLhttp對象,沒有使用WebService技術.(由于客戶的BS系統,使用FRAME框架,最上層的頁面是顯示軟件名稱,用戶登陸信息的,所以調用就放在該頁面中)。

        讓我們來看看代碼,主要是客戶端的JavaScript腳本程序 
        <script language="javascript">
           var idx=0;
           function ChkSession()
           {
            var Http = new ActiveXObject("Microsoft.XMLHTTP");
            Http.open("GET","ChkSessionOut.aspx",false); //檢查Session失效的頁面
            Http.send();
            var str = Http.responseText;//執行ASPX后的返回結果
            //idx++
            //document.all("ConvertResult").innerHTML = str+idx;
            if(str=="notnull")
            {
             //alert(str);
            }
            else
            {
             alert("會話值跟蹤時間超時,請重新登錄...");//這段代碼一直沒有運行,往下看,你就知道了
             location.href = "longin.aspx";
            }
            window.setTimeout(‘ChkSession()‘, 1000 );//每一秒鐘,請求一次ChkSessionOut.aspx
           }
          </script>

        這段CODE,我放在<HEAD></HEAD>標簽之間,然后在BODY加載時,調用該函數,如下:
        <BODY onload="ChkSession();">
        ChkSessionOut.aspx.cs的代碼如下ChkSessionOut.aspx文件中的HTML標簽全部被我刪除,這樣一來執行下面的代碼,就只有結果的輸出了 
        private void Page_Load(object sender, System.EventArgs e)
          {
           if(Session["sUserID"]==null)
           {
            Response.Write("isnull");
            return;
           }
           else
           {
            Response.Write("notnull");
            return;
           }
          }

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Session失效

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>