يوم سوالف، في 7 أغسطس القادم

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > ASP و ASP.NET
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#1 (permalink)  
درس عن ال Cookies


السلام عليكم

الكوكيز عبارة عن ملفات صغيرة من المعلومات يقوم السيرفر بتخزينها على جهاز المستخدم ( العميل )

الكوكيز بعضها يكون مؤقت وبعضها يكون دائم ...الكوكيز المؤقته تسمى session cookies موجودة
فقط في ذاكرة الخادم ( السيرفر )

الكوكيز الدائمة يعني بعبارة أخرى ...تبقى حية شهور أو سنوات...المتصفح الذي يدعم الكوكيز يحتفظ بملف أو أكثر وهذه الملفات تسمى cookies files في نظام التشغيل ويندوز وتسمى magic cookies في نظام التشغيل ماكنتوش وهي تحفظ بيانات من مواقع الويب

• عند استخدام الكوكيز يجب جلب فضاء الأسماء System.Net


• معظم الأوقات الكوكيز تستخدم لتخزين أسماء المستخدمين وكلمات المرور وآخر صفحة قام المستخدم بزيارتها وليس من الخطأ أن يتم حفظ اسم المستخدم ولكن غير المفضل الاحتفاظ بكلمة المرور لأنه يمكن لللمخترقين فكها

• يتم استرجاع الكوكيز من ال request object وكتابة قيمة الكوكيز باستخدام ال response object

• لتكوين session cookies يعني كوكيز مؤقته بالطريقة التالية :
فيجوال بيسك:

كود:
Dim  objCookie  as  New  HttpCookie(“myCookie”)
objCookie(“myCookie”)= “English”
Response.Cookies.Add(objCookies)
سي شارب :

كود:
HttpCookie    cookie=new  HttpCookie(“myCookie”);
objCookie[“myCookie”]= “English”;
Response.Cookies.Add(objCookies);
أول جملة هي انشاء كوكيز باسم myCookie ويحمل قيمة English
والجملة الثانية اضافة الكوكيز الى ال Response object



لقراءة قيمة كوكيز معين من خلال الجملة التالية :
فيجوال بيسك :
كود:
Dim  objCookie  as  HttpCookie=Request.Cookies(“myCookie”)
سي شارب :
كود:
HttpCookie    cookie= Request.Cookies[“myCookie”];

دائما الكوكيز تحتوي على قيمة string واذا أردت أن تخزن قيمة من نوع آخر يجب تحويل القيمة

ولعرض جميع الكوكيز الموجودة من خلال الكود التالي

فيجوال بيسك دوت نت:
كود:
Dim strKey As String
For each strKey in Request.Cookies
  Response.Write( "<li>" & strKey & "=" & Request.Cookies( strKey ).Value )
Next
سي شارب :
كود:
Foreach( String strKey in Request.Cookies)
{
  Response.Write( "<li>" + strKey + "=" + Request.Cookies( strKey ).Value );
}
والأن سأعطي مثال على انشاء session Cookies ( كوكيز مؤقتة )

1- انشاء صفحة جديدة واضافة الكونترول التالية كما هو موضح في الصور


2- النقر نقرة مزدوجة بالماوس على الزر وكتابة الكود التالي
فيجوال بيسك دوت نت :
كود:
Dim objCookie As HttpCookie
objCookie = New HttpCookie(txtCookieName.Text, txtCookieValue.Text)
Response.Cookies.Add(objCookie)
بلغة السي شارب :
كود:
HttpCookie objCookie = New HttpCookie(txtCookieName.Text, txtCookieValue.Text);
Response.Cookies.Add(objCookie);
والكود التالي معناه تعريف كائن من الكلاس HttpCookie
اسمه هو قيمة التيكست الأول وقيمته هو قيمة التكست الثاني
وبعد ذلك سيتم اضافة الكوكيز الذي تم انشاءه الى ال Response object

3- وفي نفس صفحة الكود يتم اختيار دالة ال Page_PreRender كما في الشكل التالي


وهذه الدالة يتم تنفيذها بعد رجوع الصفحة من السيرفر
ويتم كتابة الكود التالي
فيجوال بيسك دوت نت :
كود:
Dim strKey As String
For Each strKey In Request.Cookies
lblCookies.Text &= "<li>" & strKey & "=" & Request.Cookies(strKey).Value
Next
سي شارب :
كود:
foreach( String strKey In Request.Cookies)
{
lblCookies.Text += "<li>" + strKey + "=" + Request.Cookies(strKey).Value;
}
هذا الكود معناه عرض جميع الكوكيز الموجودة
ويتم التنفيذ وستكون النتيجة كالأتي


واذا تم اضافة كوكيز جديدة يتم عرضها أيضا في اسفل الصفحة

والكوكيز الدائمة يتم تعريفها بنفس الطريقة التي يتم فيها تعريف الكوكيز المؤقتة ولكن باضافة تاريخ بقاء الكوكيز وعندما المتصفح يطلب صفحة تحتوي على كوكيز دائمة يقوم بحفظها في القرص الصلب

فيجوال بيسك دوت نت :
كود:
Dim objCookie As New HttpCookie( "myPersistentCookie", "Hello!" )
objCookie.Expires = #12/25/2005#
Response.Cookies.Add( objCookie )
سي شارب :
كود:
HttpCookie objCookie = New HttpCookie( "myPersistentCookie", "Hello!”);
objCookie.Expires = #12/25/2005#;
Response.Cookies.Add( objCookie );

وهناك بعض الحدودية في الكوكيز وهي :

1- حجم ملف الكوكي محدود فهو لا يكون أكثر من KB 4 يعني لا تحاول أن تخزن بطاقات الشراء الكبيرة جدا جدا الخاصة بالمستخدم مباشرة في الكوكيز .
2- أنت لا تستطيع أن تخزن أي شيء في الكوكي ولكن يتم تخزين فقط ال string وهذا معناه أنه لا يمكن تخزين كائنات معقدة في الكوكي مثل ال HashTables وال DataSets


هنالك أيضا السيشن الموجود على ذاكرة الخادم ومدته الافتراضية 20 دقيقة ويمكن تعريفه بسهولة كالتالي

VB.NET
session("name")="Value"


C#
Session["Name"]="Value";

وعند الاسترجاع نعكس اليمن شمال والشمال يمن




أختكم إيناس

شكرا جزيلا يا أستاذي الفاضل






__________________
Response.Write
(

م. خليل سليم

مطور مواقع ASP.NET

للتواصل : khalilme@hotmail.com

)

التعديل الأخير تم بواسطة : برمودا بتاريخ 28-09-2007 الساعة 02:50 AM. سبب آخر: أخطاء برمجية
برمودا متواجد حالياً   قديم 27-09-2007, 11:37 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#2 (permalink)  

بارك الله فيك اخي خليل درس رائع ومفيد جدا والشكر موصول للاخت ايناس على هذا الدرس






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 28-09-2007, 11:29 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Mar 2000-
#3 (permalink)  

جزاكم الله خير على على الدرس والصراحه رائع ومفيد
نتمنى منك درس عن الكلاسات والاوبجكت






__________________
قمت بإغلاق مواقعي
من يريد شراء نسخه من جده طرب مراسلتي
r.-f[@]hotmail.com
الثلج غير متواجد حالياً   قديم 29-09-2007, 08:52 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Feb 2004-
#4 (permalink)  







شبكة العربية غير متواجد حالياً   قديم 21-10-2007, 10:20 PM
رد مع اقتباس
مشرف قسم التصميم والرسومات والمونتاج
تاريخ التسجيل: Sep 2003-
#5 (permalink)  

بارك الله فيكما ... معلومات قيمه ...






ملك الفوتوشوب غير متواجد حالياً   قديم 27-10-2007, 05:10 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
(الدرس رقم 8) درس طريقة إضافة نطاق فرعي والتحكم به توب لاين تطوير الويب 14 16-03-2006 06:23 PM
(الدرس رقم 10) درس طريقة اخذ نسخة احتياطية للمنتدى توب لاين إصلاح وصيانة المنتديات 6 30-10-2005 05:26 AM
(الدرس رقم 9) درس شرح اهم تفاصيل موقعك في لوحة التحكم توب لاين تطوير الويب 6 28-10-2005 08:05 PM
(الدرس رقم 7) درس التحويل التلقائي من صفحة لأخرى توب لاين تطوير الويب 4 20-10-2005 05:36 AM
هذا ماقاله الشيخ ابن عثيمين في اخر درس له في الحرم في رمضان محب سوالف عامة 0 11-01-2001 02:43 AM


الساعة الآن: 01:43 AM بتوقيت المملكة العربية السعودية