الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دروس متفرقة : Application Object

مغلق
بدأه محمد خليل أبو صلاح في 4 يونيو 2002 · 2 رد · 505 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الكائن Application من الكائنات المهمة في تقنية ال ASP و التي تعطينا مكان لحفظ القيم المستخدمة من خلال تطبيق الويب .. و هي تمكننا من ضمان ان قناة واحدة تستطيع الوصول مورد في وقت واحد ..

يتألف الكائن Application من لائحة من القيم المسماة موضوعة في

مجموعة تدعى contents و يمكن ان تضيف لمجموعة عن طريق الخاصية value

كالتالي :

[l]

Application.Value("name")="mohd khalil"

[/l]

أو باعتبار ان الخاصية value افتراضية كالتالي:

[l]

Application("name")="mohd khalil"

[/l]

كما يمكن ان تسترد القيم كالتالي :

[l]

response.write Applictaion.Contents("name")

or by this way

response.write Applictaion.Value("name")

or

response.write Applictaion.Contents(1)

or by this way

response.write Applictaion.Value(1)

[/l]

و يمكن قفل او الغاء قفل الكائن عن طريق lock و unLock لضمان

أن جلسة واحدة فقط تستطيع الوصول للقيم المخزنة في التطبيق و ذلك

يبدو واضحا في مثال تعداد عدد الزوار في الموقع أو عدد الزيارات

لصفحة ما .. سأذكر المثال لكن دعنا نناقش الفكرة أولا ..

لنفرض ان عدد الزوار حتى اللحظة 50 زائرا ثم قام زائران بزيارة

الموقع بنفس اللحظة لذا ربما تسجل مجموع الزيارات ب 51 لا 52 زيارة

و لو كان الموقع يتعرض لضغط كبير من الزوار فربما يسبب ذلك مشاكل

في التطبيق و قد يلغيه تماما لذا يمكننا الاستفادة من اغلاق و الغاء

اغلاق الكائن Application . المثال :

[l]

Dim pageCount

Application.Lock

Application("siteCounter") = Application("siteCounter") + 1

pageCount = Application("siteCounter")

Application.Unlock

Response.Write "This page has been visited " & pageCount & " times."

[/l]

كما نرى اننا عرفنا متغير لتخزين قيم الزيارات للصفحة أو الموقع ..

ثم استخدمنا قفل التطبيق حتى يتم عمل ما و هو زيادة العداد بمقدار

واحد ثم الغاء القفل حتى يتمكن الزائر الثاني من الوصول للبيانات

و زيادة العداد .. و بعد ذلك نعرض عدد الزيارات ..

طبعا لتجربة مثال ممتاز لذلك كون صفحتان و لتكونا كالتالي :

[l]

***************

* default.asp *

***************

Response.AddHeader "Refresh","3"

Dim pageCount

Application.Lock

Application("AppCounter1") = Application("AppCounter1") + 1

pageCount = Application("AppCounter1")

Application.Unlock

Response.Write "This page has been visited " & pageCount & " times."

%>

***********************************************

***************

* index.asp *

***************

Response.AddHeader "Refresh","5"

Dim pageCount

Application.Lock

Application("AppCounter1") = Application("AppCounter1") + 1

pageCount = Application("AppCounter1")

Application.Unlock

Response.Write "This page has been visited " & pageCount & " times."

%>

[/l]

كما نرى أن الكود متشابه حتى في اسم التطبيق و أول الكود سطر يقوم

بتحديث الصفحة تلقائيا و سترى بنفسك ان العداد في الصفحة الاولى يزداد

كل 3 ثواني بينما يوداد كل 5 ثوان في الشاشة الأخرى .. طبعا قم بتصغير

شاشة المستكشف و اجعلهما بجانب بعض حتى تتمكن من رؤية النتائج ..

تلاحظ ان المستكشف الأول به العادا مثلا 6 و بعد لحظات يصبح في الثاني 7

و هكذا .. طبعا جرب تغيير اسم التطبيق الى appCounter2 في المثال الثاني

تجد انه بدأ العد من الأول لوحده منفصلا عن المثال الأخر و لا علاقة له به ..

أتمنى ان أكون موفقا في شرح هذا الدرس المهم كما أراه انا .. و أظن

أن كل واحد منا يمكنه أن يصمم عداد للموقع و عداد لعدد الزيارات لكل

صفحة على حدة ..

You can fly while you can touch the sky

#2

شكراً على هذة المعلومات القيمة وأتمنى لك التوفيق أخي محمد

(f) (f) (f) (f)

#3

شكرا أخ محمد و اتمنى ان تنتهي الامتحانات بالتوفيق للجميع

لان المنتدى يبدو هادئا نسبيا ..

(f)

You can fly while you can touch the sky

هذا الموضوع مغلق.

مواضيع مشابهة