ໂດຍບົດສະຫລຸບ Global.asa ASP
- ບ່ອນຫນ້າກ່ອນ ການ #include ASP
- ບ່ອນຫນ້ານັ້ນ ອີເມວ ASP
ໂຕ້ມ Global.asa ມັນເປັນໂຕ້ມທີ່ສາມາດເລືອກໃຫ້ຫນຶ່ງ ມັນສາມາດກວມເອົາບັນດາໂອບຣິອອກຄອມເພລັກກັບການປະກາດອົງປະກອບທີ່ສາມາດຖືກນຳໃຊ້ໂດຍເວັບໄຊທັງໝົດຂອງ ASP ໃນການນຳໃຊ້.
ໂຕ້ມ Global.asa
ໂຕ້ມ Global.asa ມັນເປັນໂຕ້ມທີ່ສາມາດເລືອກໃຫ້ຫນຶ່ງ ມັນສາມາດກວມເອົາບັນດາໂອບຣິອອກຄອມເພລັກກັບການປະກາດອົງປະກອບທີ່ສາມາດຖືກນຳໃຊ້ໂດຍເວັບໄຊທັງໝົດຂອງ ASP ໃນການນຳໃຊ້. ທັງໝົດຄຳລັກສະນະຂອງການຄົ້ນຫາສະເພາະຂອງການບັດບາບສະເພາະທັງໝົດສາມາດນຳໃຊ້ໃນ Global.asa.
ໂຕ້ມ Global.asa ສາມາດກວມເອົາລາຍການດັ່ງກ່າວຫນຶ່ງ:
- ເຫດການ Application
- ເຫດການ Session
- ການຖະແຫຼງ <object>.
- TypeLibrary 声明
- ຄຳໃຊ້ #include
ຄວາມຄິດເຫັນ:ໂຕ້ມ Global.asa ຕ້ອງມີຢູ່ໃນເຂດຫົວເກສຂອງການນຳໃຊ້ ASP ແລະແຕ່ລະການນຳໃຊ້ຈະມີໂຕ້ມ Global.asa ພຽງຫນຶ່ງເທື່ອ.
ເຫດການໃນ Global.asa
ໃນ Global.asa, ພວກເຮົາສາມາດບອກກັບ application ແລະ session ວ່າຈະເຮັດຫຍັງໃນການເລີ່ມແລະຢຸດດຳເນີນການ. ຈົດສະຫຼະການທີ່ສາມາດບັນທຶກສຳລັບການດຳເນີນການຈະຖືກວາງຢູ່ໃນການດຳເນີນການວັດຖຸ. ບັນນາທິດ Global.asa ສາມາດກວມເອົາທັງສີ່ຊະນິດຂອງການເກີດຂຶ້ນ: }}
Application_OnStart - ງານການເກີດຂຶ້ນຈະເກີດຂຶ້ນທຸກໆຄັ້ງຜູ້ນຳໃຊ້ສຳລັບການດຳເນີນການ session. ການເກີດຂຶ້ນຈະເກີດຂຶ້ນພາຍຫຼັງວ່າຜູ້ນຳໃຊ້ກຳນົດວັດຖຸທຳອິດໃນການດຳເນີນການ ASP, ພາຍຫຼັງວ່າ Web 服务器ສະບາຍຫຼື ບັນນາທິດ Global.asa ຖືກຂຽນໃໝ່. "Event Session_OnStart" ຈະເກີດຂຶ້ນທັນທີຫຼັງວ່າການເກີດຂຶ້ນຈະເກີດຂຶ້ນ.
Session_OnStart - ງານການເກີດຂຶ້ນຈະເກີດຂຶ້ນທຸກໆຄັ້ງຜູ້ນຳໃຊ້ສຳລັບການດຳເນີນການ session.
Session_OnEnd - ງານການເກີດຂຶ້ນຈະເກີດຂຶ້ນທຸກໆຄັ້ງຜູ້ນຳໃຊ້ສຳລັບການດຳເນີນການ session. ວ່ານັ້ນບໍ່ມີເວລາບັນທຶກຄັ້ງໃດທີ່ຫຼາຍກວ່າການຂໍຫົວໜ້າເວັບໄຊ (ຄົນທີ່ຄວນເປັນການການຂໍຫົວໜ້າເວັບໄຊຈະເປັນ 20 ນາທີ່ເກີນກວ່າ).
Application_OnEnd - ງານການເກີດຂຶ້ນພາຍຫຼັງວ່າຜູ້ນຳໃຊ້ສຸດທ້າຍສຳລັບການດຳເນີນການ session. ຕົ້ນຕົວຂອງການເກີດຂຶ້ນແມ່ນວ່າງານການເກີດຂຶ້ນຈະເກີດຂຶ້ນພາຍຫຼັງວ່າ Web 服务器ຢຸດດຳເນີນ. ກົນລະບຽບຂອງຂັ້ນຕອນນັ້ນຈະຖືກບັນຈຸອອກຫຼືຂຽນໃນບົດທີ່ມີຂອບເຂດການດຳເນີນການ.
ບັນນາທິດ Global.asa ອາດຄືກັບນັ້ນ:
<script language="vbscript" runat="server"> sub Application_OnStart 'some code end sub sub Application_OnEnd 'some code end sub sub Session_OnStart 'some code end sub sub Session_OnEnd 'some code end sub </script>
ຄວາມຄິດເຫັນ:ຍ້ອນບໍ່ສາມາດໃຊ້ສັນຍາການແບບ ASP (<% ແລະ %>) ໃນບັນນາທິດ Global.asa ເພື່ອເອົາຈົດສະຫຼະການເຂົ້າມາ, ພວກເຮົາຕ້ອງໃຊ້ສັນຍາການແບບ HTML <script>.
ການຖະແຫຼງ <object>.
ສາມາດສ້າງວັດຖຸທີ່ມີການດຳເນີນການ session ຫຼື application ຜ່ານແຜນ <object> ໃນບັນນາທິດ Global.asa.
ຄວາມຄິດເຫັນ:ແຜນ <object> ຕ້ອງຢູ່ຈາກແຜນ <script>.
语法:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> ....
参数 | ການອະທິບາຍ |
---|---|
scope | ການຕັ້ງຂອບເຂດການດຳເນີນການຂອງວັດຖຸ (Session ຫຼື Application). |
id | ຈຳນວນທີ່ບັນທຶກເພື່ອຫຼາຍທາງສຳຄັນສຳລັບວັດຖຸ. |
ProgID |
id ທີ່ກ່ຽວຂ້ອງກັບ ClassID. ຮູບແບບ ProgID ຕ້ອງຈະເປັນ: [Vendor.]Component[.Version] ProgID ຫຼື ClassID ຕ້ອງການຖືກກຳນົດຕາມຄວາມສຳຄັນ。 |
ClassID |
ຈຳນວນທີ່ບັນທຶກເພື່ອຫຼາຍທາງສຳຄັນສຳລັບວັດຖຸ COM ປະເພດປະເພດບັນຊີ。 ProgID ຫຼື ClassID ຕ້ອງການຖືກກຳນົດຕາມຄວາມສຳຄັນ。 |
实例
第一个实例创建了一个名为 "MyAd" 且使用 ProgID 参数的 session 作用域对象:
第二个实例创建了名为 "MyConnection" 且使用 ClassID 参数的
在此 Global.asa 文件中声明的这些对象可被应用程序中的任何脚本使用。
GLOBAL.ASA:
您可以从 ASP 应用程序中的任意页面引用此 "MyAd" 对象:
某个 .ASP 文件:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
TypeLibrary 声明
TypeLibrary (类型库)是一个容器,其中装有对应于 COM 对象的 DLL 文件。通过在 Global.asa 中包含对 TypeLibrary 的调用,可以访问 COM 对象的常量,同时 ASP 代码也能更好地报告错误。假如您的站点的应用程序依赖于已在类型库中声明过数据类型的 COM 对象,您可以在 Global.asa 中对类型库进行声明。
语法:
参数 | ການອະທິບາຍ |
---|---|
file | 规定指向类型库的绝对路径。参数 file 或者 uuid,两者缺一不可。 |
uuid | 规定了针对类型库的唯一的标识符。参数 file 或者 uuid,两者缺一不可。 |
version | 可选。用于选择版本。假如没有找到指定的版本,将使用最接近的版本。 |
lcid | ອາດເປັນອັນຕະລາຍ |
ຄວາມຜິດພາດ
ສະຖານນີຈະກັບຄືນສັນຍາວິດີຈາກຄຳແນະນຳທີ່ຖືກກ່າວຫາຫລັງນີ້:
ຄວາມຜິດພາດ | ວິທະຍຸ | ການອະທິບາຍ |
---|---|---|
ASP | 0222 | Invalid type library specification |
ASP | 0223 | Type library not found |
ASP | 0224 | Type library cannot be loaded |
ASP | 0225 | Type library cannot be wrapped |
ຄວາມຄິດເຫັນ:METADATA ແຜງສະເພາະສາມາດຢູ່ໃນສະຖານທີ່ທັງໝົດຂອງ Global.asa (ທັງໃນກາງແລະບໍ່ໃນກາງ <script> ແຜງສະເພາະ). ແຕ່ພວກເຮົາຍັງແນະນຳວ່າຈະບັນຈຸ METADATA ແຜງສະເພາະທີ່ສຸດຂອງ Global.asa.
ຂໍ້ຈຳກັດ
ກ່ຽວກັບຂໍ້ຈຳກັດທີ່ສາມາດນຳໃຊ້ໃນອາກາດ Global.asa:
ທ່ານບໍ່ສາມາດສະແດງອີກອາກາດ Global.asa. ອາກາດນັ້ນບໍ່ສາມາດສະແດງຂໍ້ມູນ.
ທ່ານສາມາດນຳໃຊ້ບັນດາອັນສັນຍາສຳລັບ Server ແລະ Application ໃນກິດຈະກຳ Application_OnStart ແລະ Application_OnEnd. ໃນກິດຈະກຳ Session_OnEnd, ທ່ານສາມາດນຳໃຊ້ Server, Application ແລະ Session. ໃນກິດຈະກຳ Session_OnStart, ທ່ານສາມາດນຳໃຊ້ບັນດາອັນສັນຍາທີ່ມີຢູ່ໃນບັນດາອັນສັນຍາ.
ວິທີການນຳໃຊ້ກິດຈະກຳ
Global.asa ມັກຖືກໃຊ້ເພື່ອການກຳນົດຄວາມຄົນ.
ບັນທັດທີ່ມາອອກວ່າເພື່ອນຳມາບັນທຶກການຢືນທີ່ຫານວັນທີ່ທັງໝົດຂອງຜູ້ເຂົ້າຢ້ຽມ, ທີ່ຈະບັນຄັບຄວາມຄົນຂອງ "started" ເປັນອາກາດຂອງ Session, ແລະ "started" ທີ່ຈະສາມາດນຳໃຊ້ໂດຍບັນດາຫຼັກ ASP ໃນຄວາມຄົນ.
<script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script>
Global.asa ກໍ່ສາມາດນຳໃຊ້ເພື່ອຄວຍຄຸມການເຂົ້າເຖິງບັນດາຫຼັກ.
ບັນທັດທີ່ມາອອກວ່າເພື່ອນຳມາບັນທຶກການຢືນທີ່ຫານວັນທີ່ທັງໝົດຂອງຜູ້ເຂົ້າຢ້ຽມ, ໃນບັນທັດທີ່ມາອອກວ່າຈະນຳມາ "newpage.asp" ນີ້:
<script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script>
ພວກເຮົາຍັງສາມາດບັນຈຸຕົວອອກທີ່ຢູ່ໃນ Global.asa.
ໃນບັນທັດທີ່ມາຫຼັງຈາກທີ່ Web 服务器ເລີ່ມເບິ່ງການ, Application_OnStart ກິດຈະກຳຈະເລີ່ມເບິ່ງການ. ຫຼັງຈາກນັ້ນ, Application_OnStart ກິດຈະກຳຈະເອິ້ນກິດຈະກຳອື່ນທີ່ຊື່ວ່າ "getcustomers". ກິດຈະກຳ "getcustomers" ຈະເປີດຖານຂໍ້ມູນ, ແລະຍ່າງຄວາມຄົນຂອງ "customers" ເປັນສະຖານທີ່. ຄວາມຄົນນັ້ນຈະຈັດຄູ່ກັບອອກອາກາດ, ບໍ່ຕ້ອງຊອກຖາມຖານຂໍ້ມູນ, ບໍ່ມີການຍ່າງຄວາມຄົນຂອງ ASP ເວັບໄຊໃດໆກໍ່ສາມາດເຂົ້າເຖິງອາກາດນັ້ນໄດ້:
<script language="vbscript" runat="server"> sub Application_OnStart getcustomers end sub sub getcustomers set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=conn.execute("select name from customers") Application("customers")=rs.GetRows rs.Close conn.Close end sub </script>
ເອກະສານ Global.asa ອີກອັນ
ໃນກໍລະນີນີ້ ພວກເຮົາຈະສ້າງເອກະສານ Global.asa ທີ່ສາມາດຄວາມຄິດການຄົນຢ້ຽມຢູ່ບ່ອນນັ້ນ.
Application_OnStart ກຳນົດຄວາມຜິດຫຼັງຂອງພັນທະສານ "visitors" ຄື 0 ຕອນທີ່ເຊີ່ງມີການເລີ່ມເວັນທະນະຄອນ.
ຕອນທີ່ຜູ້ໃຊ້ໃໝ່ຢ້ຽມມາຄົນຄົນໜຶ່ງຈະມີການສະແດງ Session_OnStart Sub ຈະເພີ່ມຈຳນວນ 1 ທີ່ພັນທະສານ "visitors".
ຕອນທີ່ຄູ່ມວນຊະນະກຳ Session_OnEnd ໄດ້ຖືກກະຕຸ້ນ ຄູ່ມວນຊະນະກຳຈະຫຼຸດຈຳນວນ 1 ຈາກພັນທະສານ "visitors".
ເອກະສານ Global.asa:
<script language="vbscript" runat="server"> Sub Application_OnStart Application("visitors")=0 End Sub Sub Session_OnStart Application.Lock Application("visitors")=Application("visitors")+1 Application.UnLock End Sub Sub Session_OnEnd Application.Lock Application("visitors")=Application("visitors")-1 Application.UnLock End Sub </script>
ບັນນາທິການ ASP ຈະສະແດງຈຳນວນຜູ້ໃຊ້ປະຈຸບັນ:
<html> <head> </head> <body> <p>ມີ <%response.write(Application("visitors"))%> ທຳນອງອອນອາຄານຕອນນີ້!</p> </body> </html>
- ບ່ອນຫນ້າກ່ອນ ການ #include ASP
- ບ່ອນຫນ້ານັ້ນ ອີເມວ ASP