Latest web development tutorials

ASP Global.asa

الملف Global.asa

الملف Global.asa هو ملف اختياري يمكن أن تحتوي على الإعلانات هي عبارة عن تطبيقات ASP تخضع كل صفحة الوصول إليها، والمتغيرات والأساليب.

جميع النصوص متصفح المشروعة (جافا سكريبت، فبسكريبت أو JScript، PerlScript الخ) يمكن استخدامها في Global.asa.

يمكن أن تحتوي على الملف Global.asa التالية فقط:

  • أحداث التطبيق
  • حدث جلسة
  • <كائن> بيان
  • بيان TypeLibrary
  • التوجيه تتضمن #

ملاحظة: يجب أن يتم تخزين ملف Global.asaفي الدليل الجذر للتطبيق ASP، وكل تطبيق يمكن أن يكون الملف Global.asa واحد فقط.


أحداث Global.asa

في Global.asa يمكن أن أقول لكم تطبيق وجلسة الأجسام عند التطبيق / جلسة تبدأ ما يجب القيام به، وماذا تفعل عندما نهاية التطبيق / الدورة. يتم وضع رمز لإنجاز هذه المهمة في معالج الأحداث. يمكن أن تحتوي على الملف Global.asa أربعة أنواع من الأحداث:

Application_OnStart - يحدث هذا الحدث عند استدعاء المستخدم أول الصفحة الأولى تطبيق ASP.وهذا الحدث إعادة تشغيل ملقم ويب أو يحدث بعد تحرير الملف Global.asa. يحدث "Session_OnStart" الحدث بعد حدوث هذا الحدث على الفور.

Session_OnStart - يحدث هذا الحدث عندما يطلب مستخدم جديد له (لها) في تطبيق ASP في الصفحة الأولى.

Session_OnEnd - يحدث هذا الحدث كلما الدورة المستخدم النهائي.إذا كان المستخدم لا يطلب أي صفحة، والدورة المستخدم تنتهي في غضون فترة زمنية محددة سلفا (الوقت الافتراضي هو 20 دقيقة).

Application_OnEnd - هذا الحدث بعد قيام المستخدم ينتهي جلستهم آخر يحدث.عادة ما يحدث هذا الحدث عند إيقاف ملقم ويب. ويستخدم هذا روتين بعد تطبيق وقف إعدادات تطهير، مثل سجلات الحذف أو إرسال المعلومات إلى ملف نصي.

قد تبدو الملف 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> عنصر في الداخل.


<كائن> بيان

يمكن أن <كائن> العلامة لخلق الكائنات مع جلسة أو نطاق التطبيق في الملف Global.asa باستخدام.

ملاحظة: <كائن> يجب أن تكون العلامة في العلامة <script> خارج!

قواعد

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

参数 描述
scope 设置对象(Session 或 Application)的作用域。
id 为对象指定一个唯一的 id。
ProgID 与 ClassID 关联的 id。ProgID 的格式是:[Vendor.]Component[.Version]。

ProgID 或 ClassID 必需被指定。

ClassID 为 COM 类对象指定一个唯一的 id。

ProgID 或 ClassID 必需被指定。

أمثلة

المقام الأول باستخدام المعلمة معرف البرنامج لإنشاء كائن نطاق جلسة بعنوان "MyAd" من:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

يتم إنشاء الدرجة الثانية باستخدام نطاق تطبيق معلمة CLASSID كائنات تسمى "MyConnection" من:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

كائنات أعلن في الملف Global.asa يمكن أن يكون أي برنامج نصي التطبيق:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

您可以从 ASP 应用程序中的任意页面引用 "MyAd" 对象:

某个 .ASP 文件:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>


بيان TypeLibrary

TypeLibrary (نوع المكتبة) هو حاوية تضم ملفات DLL كائن COM المقابلة. من قبل بما في ذلك دعوة إلى TypeLibrary في الملف Global.asa، ​​يمكنك الوصول إلى ثوابت كائن COM، ورمز ASP أيضا أكثر قدرة على تقرير أخطاء. إذا يعتمد تطبيق ويب على أنواع البيانات كائن COM أعلن في مكتبة نوع، يمكنك كتابة مكتبات في بيان Global.asa.

قواعد

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

参数 描述
file 规定指向类型库的绝对路径。

file 参数或者 uuid 参数,两者缺一不可。

uuid 规定了类型库的唯一的标识符。

file 参数或者 uuid 参数,两者缺一不可。

version 可选。用于选择版本。如果没有找到需要的版本,将使用最接近的版本。
lcid 可选。用于类型库的地区标识符。

قيمة الخطأ

الملقم بإرجاع واحدة من رسالة الخطأ التالية:

错误代码 描述
ASP 0222 无效的类型库规范
ASP 0223 没有找到类型库
ASP 0224 无法加载类型库
ASP 0225 无法包装类型库

ملاحظة: بطاقة البيانات الوصفيةفي Global.asa ملف في أي مكان (داخل وخارج العلامة <script> يمكن أن يكون) تظهر. ومع ذلك، فإننا لا نزال نوصي البيانات الوصفية العلامة وضعت في أعلى الملف Global.asa.


محدود

يمكن أن يكون مرجعا حول ملف Global.asa في المحتوى المحدد:

  • الملف Global.asa أنه لا يمكن عرض النص. هذا الملف لا يمكن عرض المعلومات.
  • يمكنك استخدام Server فقط وتطبيق كائنات Application_OnStart وApplication_OnEnd الوظائف الفرعية. في روتين Session_OnEnd، يمكنك استخدام خادم والتطبيقات والأجسام الدورة. في روتين Session_OnStart، يمكنك استخدام أي كائن المضمنة.

كيفية استخدام الوظائف الفرعية

تستخدم Global.asa عادة إلى تهيئة المتغيرات.

يوضح المثال التالي كيفية الكشف عن الموعد المحدد لزوار موقع ويب تصل لأول مرة. يتم تخزين الوقت في الكائن Session اسمه "بدأ" في، وقيمة "بدأ" متغير يمكن أن يكون أي وجهات نظر 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.

في المثال التالي، عندما يبدأ خادم الويب، سيبدأ Application_OnStart روتين. ثم، Application_OnStart يدعو روتين آخر يدعى "getcustomers" روتين. "Getcustomers" روتين فتح قاعدة بيانات وباسترداد الرقم القياسي الذي سجل من الجدول "العملاء". يتم تعيين هذا السجل إلى مجموعة من التجمع، دون الاستعلام عن قاعدة بيانات، أي صفحات 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 "الزوار" المتغير التطبيق هو 0.
  • كلما يأتي من الزوار الجدد لزيارة، وSession_OnStart روتين يكون إلى "الزوار" متغير زائد واحد.
  • كلما يتم تشغيل Session_OnEnd روتين، فإن روتين طرح من "الزوار" متغير 1.

الملف 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 الذي يعرض العدد الحالي من الزوار:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>