在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

深入研究Application與Session對象(3)

深入研究Application與Session對象(3)

更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

三、Global.asa

  ASP的Application和Session對象體現了其他ASP內置對象所沒有的特征--事件。每一個訪客訪問服務器時都會觸發一個OnStart事件(第一個訪客會同時觸發Application和Session的OnStart事件,但Application先于Session),每個訪客的會話結束時都會觸發一個OnEnd事件(最后一個訪客會話結束時會同時觸發Application和Session的OnEnd事件,但Session先于Application)。

  OnStart和OnEnd這兩個事件一般應用在虛擬社區中統計在線人數、修改用戶的在線離線狀態等。要具體定義這兩個事件,需要將代碼寫在Global.asa文件,并將該文件放在站點的根目錄下(缺省是\Inetpub\wwwroot\)。另外,Application和Session對象規定了在OnEnd事件里除了Application對象外其他ASP內置對象(Response、Request、Server、Session...)一概不能使用。以下舉一個虛擬社區統計在線人數的例子來說明如何使用這兩個事件。

  文件說明:

  global.asa 位于d:\Inetpub\wwwroot\目錄下

  default.asp 位于d:\Inetpub\wwwroot\目錄下,虛擬社區登錄頁面

  login.asp 位于d:\Inetpub\wwwroot\目錄下,用于檢測用戶輸入的用戶名及密碼

  index.asp 位于d:\Inetpub\wwwroot\目錄下,虛擬社區首頁

  bbs.mdb 位于d:\Inetpub\wwwroot\目錄下,存儲用戶信息的數據庫

  數據庫(ACCESS)結構:

   ===bbs表===

  id 用戶ID,長整型

  name 用戶名,文本型

  code 密碼,文本型

  online 在線狀態,是/否

 
  ===global.asa===

  <script LANGUAGE="VBScript" RUNAT="Server">

  Sub Application_OnStart

   application("online")=0

  End Sub

  sub Application_OnEnd

  nd Sub

  Sub Session_OnStart

  End Sub

  Sub Session_OnEnd

   if session.contents("pass") then '判斷是否為登錄用戶的Session_OnEnd

    application.lock

    application("online")=application("online")-1

    application.unlock

   end if

  End Sub

  </script>

  ==============

  ===login.asp===

   ......'密碼驗證,連接數據庫,檢測用戶輸入的用戶名及密碼是否正確

  if 密碼驗證通過 then

   session("name")=rs("name")

   session("id")=rs("id")

   session("pass")=true

  else

   rs.close

   conn.close

   response.write "密碼錯誤!"

   response.end

  end if

  application.lock

  application("online")=application("online")+1

  conn.Execute ("update bbs set online=1 where id="&session("id"))'將用戶的狀態設為在線

  application.unlock

  rs.close

  conn.close

  response.redirect "index.asp" '初始化數據后跳轉到社區首頁

  ===========

  在本例中,用application("online")變量記錄已經登錄社區的在線人數,因為一旦有用戶訪問服務器而不管用戶是否登錄,都會產生OnStart事件,所以不能在OnStart事件里使Applicaiton("online")加一。因為不管是否是登錄用戶的會話結束都會產生OnEnd事件(假如有訪客訪問了服務器但并不登錄社區,他的會話結束后也會產生OnEnd事件),所以在Session_OnEnd事件里用了句if語句來判斷是否為已登錄用戶的OnEnd事件,如果是才將在線人數減一。

  這只是一個統計在線人數的簡單例子,對于一個完整的虛擬社區來說,僅僅統計有多少人在線是不夠的,在本例中數據庫里有個online字段是用來記錄用戶的在線狀態,用戶登錄的時候,在login.asp里將online設為1,但用戶離線時并沒有將online設為0,要完善它,就要修改一下Session_OnEnd事件,在該事件里將online設為0。

  ===global.sas===

  <script LANGUAGE="VBScript" RUNAT="Server">

  Sub Application_OnStart

   application("online")=0

   set application("conn")=Server.CreateObject("ADODB.Connection")

   application("db")=Server.MapPath("\bbs.mdb") '此處最好使用絕對路徑\bbs.mdb,下文有詳細介紹

  End Sub

  sub Application_OnEnd

   set application("conn")=nothing

  End Sub

   Sub Session_OnStart

  End Sub

  Sub Session_OnEnd

   if session.contents("pass") then '判斷是否為登錄用戶的Session_OnEnd

     application("con").open ="driver={Microsoft Access Driver (*.mdb)};dbq="&application("db")

      application.lock

      application("online")=application("online")-1

      application("con").Execute ("update friends set online=0 where id="&session.contents("id"))

      application.unlock

      application("con").close

   end if

  End Sub

  </script>

  ==============

  至此,完整的代碼已經完成了。因為在Application和Session的OnEnd事件里不能使用Server對象,所以要將數據庫的連接及數據庫在服務器上的物理地址(d:\inetpub\wwwroot\bbs.mdb)存儲在application變量中,并在Application_OnStart事件中預先處理。同理,在Session_OnEnd事件中不能用session("pass")來代替session.contents("pass")(以下有詳盡說明)。

  四、本文實例中值得引起注意的兩點

  ⒈OnEnd事件里的session.contents

  剛開始接觸global.asa的朋友經常會將上面Session_OnEnd事件里的

  if session.contents("pass") then 寫成

  if session("pass") then,

  這樣的話系統不會提示錯誤,但是永遠也不會執行then后面的內容,這是因為在OnEnd事件里禁止使用Session對象,但是可以用Session對象的集合來調用session變量。因為IIS并沒提示任何錯誤信息,所以筆者曾經在這上面浪費了很多時間。在此希望大家引以為鑒!

  ⒉Application_OnStart事件里用Server.MapPath獲取數據庫的物理地址時應使用絕對地址為了說明這個問題,大家可以做個實驗:將上面Application_OnStart事件里的

  application("db")=Server.MapPath("\bbs.mdb")改為:

  application("db")=Server.MapPath("bbs.mdb")

然后在d:\inetpub\wwwroot\目錄下建立一個test子目錄,寫一個temp.asp在test目錄里。

  ====test.asp====

  <%response.write application("db")%>

  ================

再將temp.asp拷貝一份放在根目錄下(d:\inetpub\wwwroot\)。用記事本打開global.asa,再打開兩個瀏覽器,瀏覽器A輸入地址http://localhost/temp.asp,按回車,將在瀏覽器上輸出:

  d:\inetpub\wwwroot\bbs.mdb

然后,在記事本的窗口上點"文件"菜單,選"保存"(使global.asa的修改時間改變,從而使IIS重啟動所有服務),再在瀏覽器B輸入地址http://localhost/test/temp.asp,按回車,在瀏覽器上輸出的是:

  d:\inetpub\wwwroot\test\bbs.mdb

global.asa文件雖然是放在站點根目錄下,但是如果在server.mappath中使用的是相對地址,而觸發Application_OnStart事件的用戶第一次訪問的頁面又不是屬于根目錄的話,得到數據庫的物理地址將不會是期望的結果,希望大家要特別小心。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 亚洲色欲综合一区二区三区| 色一情一乱一乱一区91| 日韩中文字幕在线不卡| 色悠悠久久综合网| 美女网站免费观看视频| 六月丁香婷婷在线| 茄子视频成人免费观看| 国产精品裸体瑜伽视频| 日韩不卡视频一区二区| 黄色影视在线观看| 一二三四中文字幕| 国产二区视频在线| www.在线观看av| 91国在线高清视频| 韩日视频在线观看| 精品视频在线观看一区| 国产原创popny丨九色 | 无码内射中文字幕岛国片| 99热在线这里只有精品| 国产成人a亚洲精v品无码| 日韩 欧美 高清| 一道本在线免费视频| 国产精欧美一区二区三区白种人| 国产精品嫩草影院8vv8 | 中文字幕 日韩 欧美| 亚洲精品mv在线观看| 欧洲美女和动交zoz0z| 免费网站永久免费观看| 国产精品网站免费| 欧美日韩在线观看不卡| 欧美日韩一级在线| 国产欧美日韩网站| 亚洲免费黄色录像| 精品少妇在线视频| 国产激情在线观看视频| 午夜免费福利网站| 97国产精东麻豆人妻电影| 校园春色 亚洲色图| 中文字幕乱码免费| 国产免费成人在线| 黄色小视频大全| 国产视频在线视频| av在线播放天堂| 色婷婷.com| 男人天堂999| 国产精品日韩三级| 99九九精品视频| 欧美 日韩 国产一区| 日本天堂免费a| 国产高清999| 五月婷婷狠狠操| 久久久999免费视频| 中文字幕视频在线免费观看| 二级片在线观看| 五月婷婷深爱五月| 欧美视频在线观看视频| 妺妺窝人体色www在线观看| 欧美一级中文字幕| 91插插插插插插插插| 又粗又黑又大的吊av| 大荫蒂性生交片| 好吊色视频988gao在线观看| 午夜剧场在线免费观看| 超碰av在线免费观看| 国产91在线视频观看| 9色porny| 丁香花在线影院观看在线播放| 日韩va在线观看| 久久人人爽av| xx欧美撒尿嘘撒尿xx| 男女无套免费视频网站动漫| 1024精品视频| 青青草原av在线播放| 亚洲色图38p| 亚洲综合婷婷久久| 超碰在线公开97| 91女神在线观看| 日本一本在线视频| 少妇高潮大叫好爽喷水| 超碰在线免费观看97| 91看片淫黄大片91| 美女扒开大腿让男人桶| 成人午夜视频在线观看免费| 97成人在线免费视频| 欧美亚洲国产成人| 亚洲综合欧美激情| 最近免费观看高清韩国日本大全| 国产一二三四五| 精品少妇人欧美激情在线观看| 国产日韩欧美精品在线观看| 能在线观看的av| 成人日韩在线视频| 大陆极品少妇内射aaaaaa| 青青青青草视频| 国模私拍视频在线观看| 国产免费一区二区三区四在线播放 | 一级网站在线观看| 久艹在线免费观看| 免费日韩中文字幕| av不卡在线免费观看| 精品国产免费av| 亚洲天堂一区二区在线观看| 欧美极品少妇无套实战| 四季av一区二区| 隔壁人妻偷人bd中字| 香蕉视频禁止18| 拔插拔插海外华人免费| 亚洲 欧美 另类人妖| 日本人妻伦在线中文字幕| 少妇一级淫免费放| 欧美图片激情小说| 中文字幕日韩综合| 91av资源网| 91动漫在线看| 午夜激情视频网| 亚洲老女人av| av动漫在线观看| 美女扒开大腿让男人桶| 又色又爽又黄视频| 爆乳熟妇一区二区三区霸乳| 青春草国产视频| japanese在线播放| www.欧美激情.com| 91福利国产成人精品播放| 成人毛片视频网站| 久草视频国产在线| 美女黄色免费看| 粉嫩av一区二区三区天美传媒| 中文字幕一区久久| 伊人国产在线视频| 污片在线免费看| 牛夜精品久久久久久久| 亚洲国产精品毛片av不卡在线| 欧美精品久久久久久久自慰| 福利在线一区二区| 人妻激情另类乱人伦人妻| 欧洲在线免费视频| 青娱乐国产精品视频| 思思久久精品视频| 午夜xxxxx| 成人手机在线播放| 奇米777四色影视在线看| 成年人三级视频| 色乱码一区二区三区熟女| 手机福利在线视频| 老司机激情视频| 老太脱裤让老头玩ⅹxxxx| 男人天堂1024| 丰满少妇在线观看| 久久6免费视频| 亚洲第一综合网站| 国产男女免费视频| 一区二区三区入口| 热这里只有精品| 国产玉足脚交久久欧美| 无码精品a∨在线观看中文| 久久午夜夜伦鲁鲁一区二区| 久久撸在线视频| 国产亚洲精品久久久久久久| 国自产拍偷拍精品啪啪一区二区| 国产淫片av片久久久久久| 天天操狠狠操夜夜操| 免费cad大片在线观看| 久久无码高潮喷水| 精品久久免费观看| 啊啊啊一区二区| 亚洲五月激情网| 国产最新免费视频| 日韩av自拍偷拍| 免费 成 人 黄 色| 五月天激情播播| 免费毛片小视频| 91香蕉视频在线观看视频| 男人的天堂狠狠干| 一级日本黄色片| 99热在线这里只有精品| 国产又粗又大又爽的视频| 国产福利视频在线播放| 国产 国语对白 露脸| 欧美婷婷精品激情| 日本成年人网址| 91免费版看片| 色一情一区二区三区| 成年人网站免费视频| 在线无限看免费粉色视频| 久久久久久久片| 国产黄页在线观看| 美女av免费观看| 色婷婷综合在线观看| 91制片厂毛片| 国模杨依粉嫩蝴蝶150p| 久操手机在线视频| 一级片免费在线观看视频| 99视频在线免费| 欧美成人xxxxx| 僵尸世界大战2 在线播放| 国产精品视频二| 日韩一二区视频| 一级性生活视频| 18黄暴禁片在线观看|