ملف Global.asa هو ملف اختياري. يمكن للمستخدمين إعلان الكائنات الجلسة والكائنات على مستوى التطبيق في البرنامج النصي للحدث المحدد. اليوم ، قام محرر قناة Fooxin Technology بجمع المعلومات ذات الصلة وفرزها خصيصًا. يمكن للأصدقاء المهتمين الذهاب إلى المقالة التالية لمعرفة المزيد!
نعلم جميعًا أن .asa هو اسم لاحقة الملف. إنه اختصار لتطبيق الخادم النشط.
إنه في الواقع ملف اختياري حيث يمكن لكاتب البرنامج تحديد البرامج النصية للأحداث وإعلان الكائنات مع نطاقات الجلسة والتطبيق. لا يتم استخدام محتويات هذا الملف لعرضها على المستخدم ، ولكن لتخزين معلومات الحدث والكائنات المستخدمة عالميًا بواسطة التطبيق. يجب تخزين هذا الملف في الدليل الجذر للتطبيق. يمكن أن يكون لكل تطبيق ملف Global.ASA واحد فقط.
إن أكثر المشاهدات الخاطئة شيوعًا حول Global.ASA هي أنه يمكن استخدامها كمكتبة لوظائف الاستخدام العام والتواصل الفرعي. لا يمكن استخدام ملف Global.asa إلا لإنشاء المراجع والتقاط الشركات الناشئة للكائنات ، وكذلك كائنات التطبيق النهائية وكائنات الجلسة.
يتم الوصول إلى ملف Global.asa بناءً على أحداث على مستوى الجلسة ويتم استدعاؤه في الحالات الثلاث التالية:
تنسيق الملف القياسي لـ Global.ASA كما يلي:
<script language = "vbscript" runat = "server"> sub application_onstart 'application_onstart run end sub sub session_onstart أول مرة يقوم فيها العميل بالوصول إلى الصفحة الرئيسية للتطبيق' session_onstart run end sub sub sent_onend 'session_onend run end sess_onend' session_onend end end application end end end end end end the the the web web seth </script.
1. Session_onstart
دعونا أولاً نلقي نظرة على رمز يتحكم في المستخدمين لإدخال الصفحة:
1. Global.asa (وضعت تحت الدليل الجذر للدليل الافتراضي المصحح)
<script language = "vbscript" runat = "server"> sub session_onstart 'طالما أن المستخدم يقوم بتسجيل الدخول إلى هذا الموقع لأول مرة ، فسوف يقفز إلى استجابة الصفحة الرئيسية.
ثم تصحيح أي ملفات في الدليل الافتراضي الحالي ، وسوف تجد أن جميع الصفحات تقفز إلى http://www.webjx.com/ <
من خلال هذا المثال من "الدخول القسري إلى صفحة معينة" ، يمكن تخيل أنه من الضروري للغاية عند اتباع الصفحة الرئيسية.
دعنا نستمر في مراقبة الأحداث Session_onstart و Session_onend مع مثال على "عدد المستخدمين عبر الإنترنت"
2. Session_onend
2. Global.asa (وضعت تحت الدليل الجذر للدليل الافتراضي المصحح)
<script language = vbscript runat = server> sub application_onstart 'القيمة الأولية هي 0 تطبيق ("عبر الإنترنت") = 0 end sub sub session_onstart' يضيف وصول المستخدم 1 تطبيق. التطبيق ("عبر الإنترنت") - 1 Application.Unlock End Sub </script>3. عبر الإنترنت
<٪ if request.querystring ("logout") = "true" ثم session.abandon () response.end end if ٪> هناك حاليًا <٪ = application ("Online") على الإنترنت <a href = "online.asp؟ logout = true"> exit </a>تجد أن هناك تطبيقًا واحدًا فقط ("عبر الإنترنت") في الصفحة ، ويتم الإشارة إليه أيضًا. إذن من أين تأتي قيمتها؟ هذا هو مفتاح ملف global.asa. يمكنك فتح Windows في هذا الجهاز ، أو إغلاق Windows أو الخروج تصحيح الأخطاء للطريقتين.
3. استمر في تحسينه
ستجد أن تأثيرات إغلاق النافذة بعد اتصال "الخروج" تختلف عن إغلاق النافذة مباشرة. نظرًا لوجود جلسة في الوقت المناسب ، عند إغلاق النافذة مباشرة ، لا يمكن تشغيل حدث Session_onend ، فكيف يمكن تحقيق هذه الفكرة المستحيلة تقريبًا؟
كما نعلم جميعًا ، عند إغلاق صفحة ويب ، يمكن أن يكون مصحوبًا بحدث OnUnload. طالما أنه يمكن تنفيذ التحميل ، أليس هذا كل ما نحتاجه؟ قل أقل هراء ، تعديل عبر الإنترنت
<٪ if request.querystring ("logout") = "true" ثم session.abandon () response.end end if ٪> <body onUnload = javaScript: window.open ("exit.asp")> يوجد حاليًا <٪ = application ("Online") على الإنترنت <a href = "online.asp؟ logout = true"> exit </a>لاحظ أنه عند تشغيل online.asp ، سيتم فتح exit.asp. ثم فقط تعيين session.abandon () في exit.asp وليس موافق.
الخروج
<٪ session.abandon () ٪> <script> self.close () </script>
بالطبع ، تمت إضافة برنامج نصي سيناريو لإغلاق نفسه مباشرة بعد تسجيل الجلسة. الآن ، مجرد تطبيق ويب مع إحصائيات عبر الإنترنت يكفي.
4. دراسة متعمقة للعالم.
من تصحيح الأخطاء أعلاه ، سوف تتعلم من مثال واحد وتطبيقه على الآخرين وسوف تطرح بالتأكيد سؤالًا: كيفية التحكم في عدد المستخدمين المسجلين عبر الإنترنت؟ دعنا نقرأ المستندات التالية واحدة تلو الأخرى:
4. Global.asa (وضعت تحت الدليل الجذر للدليل الافتراضي المصحح)
<script language = "vbscript" runat = "server"> sub application_onstart application ("online") = 0 sub sub sess_onstart end sub sub session_onend if session.contents ("pass") ثم "تحديد ما إذا كان end end sub application_onend application.lock application (" "about about".لاحظ أن كتلة Session_onstart في هذا Global.ASA لا تسبب أي أحداث.
لأنه بمجرد وصول المستخدم إلى الخادم ، بغض النظر عما إذا كان المستخدم يقوم بتسجيل الدخول أم لا ، سيتم إنشاء حدث OnStart. الآن كل ما تحتاجه هو تسجيل الدخول إلى المستخدم عبر الإنترنت ، لذلك لا يمكنك إضافة 1 إلى حدث OnStart.
أيضًا ، نظرًا لأنه سيتم إنشاء حدث البصرة بغض النظر عما إذا كانت جلسة المستخدم المسجلة قد انتهت (إذا قام أحد الزوار بزيارة الخادم ولكن لم يتم تسجيل الدخول ، فسيتم إنشاء حدث البرد أيضًا بعد انتهاء الجلسة) ، لذلك تم استخدام عبارة إذا تم استخدامه في حدث Session_onend لتحديد ما إذا كان حدث البرد للمستخدم الذي تم تسجيله. إذا كان الأمر كذلك ، فسيتم تخفيض عدد الأشخاص عبر الإنترنت بمقدار 1.
وتجدر الإشارة إلى أن استخدام Session.contents ("Pass") يرجع إلى أن استخدام كائنات الجلسة محظورة في حدث البروتين ، ولكن يمكن استدعاء متغير الجلسة باستخدام مجموعة من كائنات الجلسة. بمعنى آخر ، لا يمكنك كتابة الجلسة ("Pass") مباشرة ، ولكن تحتاج إلى كتابة Session.contents ("Pass").
5. تسجيل الدخول
عضو مسجل حاليًا <٪ = التطبيق ("عبر الإنترنت") ٪>.
<a href = "login.asp؟ logout = true"> exit </a> <٪ else ٪> <form action = "login.asp" method = "post"> <input
ما عليك سوى اكتشاف أنه عندما يكون اسم cnbruce وكلمة المرور cnrose ، جلسة ("تمرير") = يتم إنشاء TRUE ، والذي يتم الحكم عليه في Global.asa.
5. استمر في استخدام خيالك
فكر في الأمر ، فكر في الأمر مرة أخرى. لا يكفي فقط حساب عدد الأشخاص الذين يوجد عبر الإنترنت ، ويتطلب أيضًا الحكم على حالة المستخدم عبر الإنترنت.
يمكنك تخيل الطريقة الأساسية. عندما يقوم المستخدم بتسجيل الدخول ، قم بتعيين الإنترنت على 1 في login.asp (تحميل إذا كانت هناك قاعدة بيانات) ، ولكن عندما يكون المستخدم غير متصل بالإنترنت ، قم بتعيين عبر الإنترنت على 0.
بالطبع ، Global.asa أكثر من ذلك بكثير. لكن لا يتعين علينا أن نسرع لإتقان كل شيء الآن. عندما نتواصل مع قاعدة البيانات ، سنعود للنظر إليها ونواصل دراسة الملف. أعتقد أنه بحلول ذلك الوقت سوف ندرك بالتأكيد الكثير. لذلك ، دعونا نفهم ما سبق تمامًا أولاً.
آمل أنه من خلال هذا المقال ، سوف أقوم بتحليل استخدام ملفات ASP Global. سيكون المزيد من المعرفة التقنية متاحة على شبكة قناة Wuxin Technology!