شـبـكــة عـمّـــار
إخبارية - ترفيهية
- تعليمية



جديد الصور
جديد الأخبار
جديد المقالات


جديد الصور

جديد البطاقات

جديد الصوتيات

المتواجدون الآن


تغذيات RSS

2012-08-14 06:00


الكائن Response- الجزء الثاني



سنكمل معاً في هذا الدرس باقي خواص ودوال الكائن Response. لنبدأ !!

الخاصية Expires:

الخاصية Buffer كانت تخص خادم الويب! بينما الخاصية Expires في تخص جهاز المستخدم وبالتحديد متصفح الويب لديه !

فمتصفح الويب لدى المستخدم يستخدم ذاكرة مؤقتة تدعى cache memory للاحتفاظ بصفحات الويب التي يزورها المستخدم. والخاصية Expires تحدد المدة التي سيحتفظ فيها المتصفح بهذه الصفحة ! وتكون هذه المدة بالدقائق.

فإذا طلب المستخدم صفحة الويب فإن المتصفح يبحث في هذه الذاكرة المؤقتة عن الصفحة المطلوبة فإذا وجدها فإنه يتأكد من مدة صلاحية عرض الصفحة من الذاكرة المؤقتة، فإذا لم تنقض هذه المدة فإنه يعرض الصفحة من الذاكرة بدلاً من إعادة معالجتها في خادم الويب ومن ثم إرسالها للمستخدم ! أما إذا انقضت المدة، فإن المتصفح يطلب الصفحة من الخادم لتتم معالجتها من جديد قبل إرسالها.

تستخدم هذه الخاصية كالتالي:

<%Response.Expires=20%>
* يجب استخدام هذه الخاصية في بداية ملف ASP وقبل أوامر HTML! و إلا فإن المستعرض سيعرض خطأ لديك !
* قد تكون هذه الخاصية مفيدة في عرض الصفحة بسرعة إذا استخدمت ولكنها قد تمنع المستخدم من مشاهدة التغييرات الجديدة التي قد تطرأ على الصفحة خصوصاً إذا كانت صفحة الويب تتغير باستمرار !

* إذا لم تكن تريد حفظ الصفحة في الذاكرة المؤقتة قم بتعيين القيمة 0 للدالة Expires.
* إذا لم تضع العبارة Respopnse.Expires في صفحتك فإن المستعرض سوف يطلب الصفحة من خادم الويب في المرة الأولى، ثم يعيد قراءتها من الذاكرة المؤقتة حتى يغلق المستخدم المتصفح .

* عند كتابة أكثر من عبارة Response.Expires وبقيم مختلفة فإن الذاكرة المؤقتة ستحتفظ بالصفحة لمدة مساوية للقيمة الأصغر في عبارات Response.Expires. أي القيمة رقم 5 في هذا المثال :


<%
Response.Expires=15

Response.Expires=20

Response.Expires=5

%>



~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

ماذا لو كنت تريد تخزين الصفحة حتى يوم معين وساعة محددة؟!

الخاصية ExpiresAbsolute:

تستطيع فعل ذلك بالخاصية ExpiresAbsolute التي تحدد اليوم والوقت الذي يجبر فيه خادم الويب المستعرض على الاحتفاظ بالصفحة في ذاكرته المؤقته.وهذا مثال يوضح استخدام هذه الخاصية:

<%
Response.ExpiresAbsolute=#May 16, 2003 16:30:00#

%>





~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~



الخاصية IsClientConnected:

ستكون هذه الخاصية هي الأخيرة التي سنتطرق لها في هذا الدرس، تستخدم هذه الخاصية للتأكد من ما إذا المستخدم لازال متصلاً بالخادم أم لا !! وهي تأخذ قيمتين، إما True أو False.

True إذا كان المستخدم ما زال متصلاً بالخادم .. و False إذا كان غير متصل.

مثال لتوضيح عمل هذه الخاصية:

<%Response.Buffer=True%>
<HTML>

<BODY>

<%

If Response.IsClientConnected=True Then

Dim x

For x=0 To 10000000

x=x+2

Next

Response.Write(x)

Else

Response.End

End If

%>

</BODY>

</HTML>

هذا الكود يقوم بالتأكد من ما إذا كان المستخدم متصلاً بالخادم قبل الدخول في عمليات حسابية مطولة، وذلك عن طريق الأمر If في لغة VBScript.. فإذا كان متصلاً فإن الخادم يبدأ بمعالجة الأوامر الأوامر التي تطلب عمليات حسابية مطولة ويعرض النتيجة.. أما لو وجد أن المستخدم غير متصل فإنه يوقف المعالجة حتى لا يهدر الوقت في المعالجة بينما المستخدم غير متصل!

* تفيد هذه الخاصية في الحفاظ على موارد الخادم وعدم إهدارها، خصوصاً حين تتطلب الصفحة كم كبير من المعالجة كاسترجاع أو تخزين بيانات في قاعدة البيانات، أو إجراء عمليات حسابية مقعدة تستغرق وقت طويل.
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

الخاصية ContentType :

هذه الخاصية تفيد مستعرض الويب في معرفة نوع البيانات التي تحتويها الصفحة لتساعده في عرضها للمستخدم بصورة صحيحة.

هذا المثال يوضح طريقة استخدامها:

%>

Response.ContentType="text/plain"

<%



* يجب كتابة العبارة السابقة في بداية صفحة ASP قبل وسوم HTML.

* لاحظ أنه يجب أن يكتب نوع المحتوى في العبارة Response.ContentType بين علامتي تنصيص.

* text/plain هي نوع المحتوى ; text الفئة العامة للمحتوى و plain الفئة المخصصة من الفئة العامة text.. الجدول التالي يبين عدد من الفئات العامة والمخصصة التي يمكن أن تحتويها صفحة الويب :

نوع المحتوى

الفئة العامة

الفئة المخصصة

الوصف

text/html ,text/plain,text/RichText

Text

html, plain,RichText

رموز HTML ونص عادي
image/GIF ,image/JPEG

Image

JPEG,GIF

صورة
audio/basic

Audio

Basic

ملف صوتي
video/MPEG

Video

MPEG

ملف فيديو
application/x-doc,aplication/x-pdf,application/x-cdf

Application

x-doc,x-pdf,x-cdf

مستندات

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

الدالة AddHeader :

هذه الدالة ترسل معلومات للمستعرض عن صفحة ASP التي يطلبها أيضاً !! ولكن ترسلها كرؤوس للصفحة ! ومن أمثلة هذه المعلومات، معلومات عن تاريخ إنشاء صفحة الويب واللغة المستخدمة في هذه الصفحة وعدد أحرف الصفحة و نوع خادم الويب الذي يعالج الصفحة !

تستخد هذه الدالة كالتالي:

%>

Response.AddHeader"Content-Language","en"

<%



* يجب كتابة العبارة السابقة في بداية صفحة ASP قبل وسوم HTML.

* الجدول التالي يوضح بعض الرؤوس القياسية التي يمكن استخدامها:



الرأس

الوصف

Age

الوقت الذي مر على إنشاء صفحة الويب
Content-Language

اللغة المستخدمة في صفحة الويب
Content-Length

عدد الأحرف في صفحة الويب
Server

نوع خادم الويب الذي يعالج صفحة الويب
Custom-Error

الأخطاء الشائعة في صفحة الويب


* الموقع http://www.freesoft.org/CIE/RFC/2068/155.htm يعرض أيضاً بعض الرؤوس القياسية المستخدمة.

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

الدالة Redirect :

الدالة الأخيرة التي سنتعرض لها في هذا الدرس هي الدالة Redirect والتي تحول طلب المستخدم لصفحة ما إلى صفحة أخرى. فمثلاً لو طلب مستخدم صفحة لا يحق له الوصول إليها فإن المستعرض يحوله- بعد التأكد من أحقية وصوله للصفحة - إلى صفحة أخرى!

مثال على استخدام هذه الدالة:

الكود التالي سيتحقق من اسم الشخص فإذا لم يكن الاسم هو نفسه المطلوب فإن الصفحة تقوم بتحويل هذا المستخدم تلقائياً لصفحة أخرى !

<%
Dim name

If name= Ahmed then

Response.Write(" أهلاً بك ")

Else

Response.Redirect"PermissionMsg.asp"

End If

%>



بهذا نكون قد انتهينا من الدرس .. تعرضنا لأهم الخواص والدوال للكائن Response أما باقي الخواص والدوال فسأدرجها في جدول للتعرف عليها:

Charset

Status

PICS

IsCientConnected

ExpiresAbsolute

Expires CacheControl ContentType Buffer الخاصية


Redirect

AddHeader

AppendToLog

BinaryWrite

Write

Flush

End

Clear

الدالة
نراكم في الدرس القادم بإذن الله.


تعليقات 0 | إهداء 0 | زيارات 649


خدمات المحتوى
  • مواقع النشر :
  • أضف محتوى في Digg
  • أضف محتوى في del.icio.us
  • أضف محتوى في StumbleUpon
  • أضف محتوى في Google


تقييم
1.00/10 (3 صوت)


Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.