أحدث البرامج التعليمية وتطوير الشبكة
 

ASP الملف Global.asa


الملف Global.asa

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

جميع النصوص متصفح صالحة (JavaScript, VBScript, JScript, PerlScript, etc.) يمكن استخدامها داخل Global.asa.

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

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

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


الأحداث في Global.asa

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

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

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

Session_OnEnd - يحدث هذا الحدث كل مرة مستخدم ينتهي جلسة. A-جلسة عمل المستخدم تنتهي بعد صفحة لم يطلب من قبل المستخدم لوقت معين (by default this is 20 minutes) .

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

A الملف Global.asa يمكن أن ننظر بشيء من هذا القبيل:

<script language="vbscript" runat="server">

sub Application_OnStart
' Note: لأننا لا يمكن استخدام المحددات النصي ASP (<% and %>) لادخال النصوص في الملف Global.asa، وضعنا الوظائف الفرعية داخل HTML <script> العنصر.


<كائن> الإعلانات

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

Note: إن <object> يجب أن تكون العلامة خارج <script> العلامة!

بناء الجملة

<object runat="server" scope=" معامل وصف scope يحدد نطاق الكائن (either Session or Application) id يحدد معرف فريد للكائن ProgID معرف المرتبطة معرف فئة. التنسيق لمعرف البرنامج هو [البائع] مكون [.Version]

إما معرف البرنامج أو CLASSID يجب تحديد.

ClassID يحدد هوية فريدة من نوعها لكائن فئة COM.

إما معرف البرنامج أو CLASSID يجب تحديد.

أمثلة

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

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

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

<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>

You could reference the object "MyAd" from any page in the ASP application:

SOME .ASP FILE:

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

TypeLibrary الإعلانات

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

بناء الجملة

<!--METADATA TYPE="TypeLib"
file=" معامل وصف file يحدد مسار مطلق إلى مكتبة نوع.

أما المعلمة ملف أو المعلمة UUID مطلوب

uuid يحدد معرف فريد لمكتبة النوع.

أما المعلمة ملف أو المعلمة UUID مطلوب

version اختياري. المستخدمة في اختيار الإصدار. إذا لم يتم العثور على النسخة المطلوبة، ثم يتم استخدام أحدث إصدار lcid اختياري. معرف الإعدادات المحلية لاستخدامها في مكتبة النوع

قيم الخطأ

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

خطا بالكود وصف
ASP 0222 نوع غير صالح مواصفات المكتبة
ASP 0223 مكتبة نوع لم يتم العثور على
ASP 0224 مكتبة النوع لا يمكن تحميل
ASP 0225 مكتبة النوع لا يمكن أن تكون ملفوفة

Note: يمكن أن تظهر العلامات الفوقية في أي مكان في الملف Global.asa (both inside and outside <script> tags) . ومع ذلك، فمن المستحسن أن العلامات الفوقية تظهر بالقرب من أعلى الملف Global.asa.


قيود

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

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

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

وكثيرا ما يستخدم Global.asa تهيئة المتغيرات.

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

في المثال التالي روتين 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 واحدة إلى متغير "visitors" في كل مرة زائرا جديدا وصول
  • روتين Session_OnEnd يطرح واحدة من "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:

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