فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
سه شنبه 24 اسفند 1389 :: نویسنده : ارش کاکاوند
در این بخش با كوكی های سفارشی و نحوه عملكرد  آنها برای ذخیره و بازیابی اطلاعات آشنا خواهیم شد .

مفاهیم و چالش ها
كوكی های سفارشی یكی دیگر از روش های موجود جهت ذخیره اطلاعات به منظور استفاده در سایر صفحات می باشند . كوكی ، فایل های كوچكی می باشند كه بر روی هارد دیسك سرویس گیرنده ( و یا حافظه مرورگر وب در صورتی كه قصد ذخیره موقت آنها وجود داشته باشد ) ایجاد می گردند .
یكی از مزایای كوكی ها عملكرد غیرمحسوس آنها و عدم آگاهی كاربر نسبت به ذخیره اطلاعات است . علاوه بر این كه می توان از كوكی ها در هر یك از صفحات برنامه  استفاده كرد ، امكان استفاده از اطلاعات ذخیره شده در آنها طی بازدیدهای آتی كاربر نیز وجود دارد ( مكانی برای ذخیره اطلاعات با طول عمر بیشتر) .
كوكی ها دارای محدودیت ها و یا چالش های مختص به خود نیز می باشند :
    • ذخیره حجم اندكی از اطلاعات : صرفا" امكان ذخیره حجم اندكی از اطلاعات به صورت متن در آنها وجود دارد .

    • عدم ایمن بودن : در صورتی كه كاربر كوكی و فایل مربوط به آن را پیدا می كند ، می تواند به سادگی به آن دستیابی پیدا نماید ( خواندن ، حذف ) .

    • امكان حذف آنها توسط كاربران : همواره این احتمال وجود خواهد داشت كه كاربران اقدام به حذف كوكی های موجود بر روی كامپیوتر خود نمایند .

    • وجود محدودیت در برخی مرورگرها با توجه به نوع دستگاه سرویس گیرنده : كوكی ها می توانند در تعداد مخاطبان با توجه به نوع دستگاه آنها محدودیت ایجاد نمایند . به عنوان نمونه ، بكارگیری كوكی به همراه مرورگرهای از قبل تعبیه شده در دستگاه های موبایل مناسب نمی باشد .

    • وابسته به تنظیمات كاربر : برخی از كاربران امكان ایجاد كوكی را از طریق مرورگر خود غیرفعال می نمایند . این كار می تواند مسائل متعددی را برای برنامه های وب به دنبال داشته باشد .

    عوامل فوق باعث شده است كه كوكی به عنوان یك گزینه ضعیف برای ذخیره اطلاعات مورد توجه قرار گیرد . در مواردی كه اطلاعات پیچیده ، خصوصی و یا حجم آنها زیاد باشد ، استفاده از كوكی بسیار محدود می گردد .

    نحوه ذخیره و بازیابی اطلاعات
    فرآیند ذخیره و بازیابی اطلاعات در یك كوكی به سادگی انجام می شود . اشیاء Request و Response یك مجموعه Cookies را ارائه می نمایند . كوكی ها از طریق شی Request بازیابی و مقداردهی آنها از طریق شی Response انجام می شود . برای مقداردهی یك كوكی ، صرفا" می بایست یك شی جدید HttpCookie را ایجاد كرد . در ادامه می توان اطلاعات مورد نظر را در آن و از نوع رشته ذخیره و به پاسخ فعلی وب اضافه كرد .

    ' ایجاد شی كوكی
    Dim
    cookie As New HttpCookie("Preferences")
    ' مقداردهی كوكی
    cookie("LanguagePref") =
    "English"
    ' اضافه كردن كوكی به پاسخ جاری وب
    Response.Cookies.Add(cookie)

    كوكی فوق تا زمانی كه كاربر مرورگر را close نكند ،  وجود خواهد داشت و با هر درخواست ارسال می گردد . برای ایجاد یك كوكی با طول عمر بیشتر ، می توان برای آن یك تاریخ سررسید را تعریف كرد ( عمر مفید ) .

    ' مدت زمان حیات كوكی یك سال تعیین شده است
    Cookie.Expires = DateTime.Now.AddYears(1)

    برای بازیابی كوكی ، می توان از طریق نام استفاده شده در مجموعه Request.Cookies اقدام نمود.

    ' بررسی وجود كوكی قبل از دستیابی به آن
    Dim language As
    String
    If
    Cookie IsNot Nothing
    Then
      language = Cookie("LanguagePref"
    )
    End If

    تنها روش موجود برای حذف یك كوكی ، جایگزین كردن آن با یك كوكی است كه تاریخ اعتبار آن به اتمام رسیده باشد . كد زیر نحوه انجام این كار را نشان می دهد .

    Dim cookie As New HttpCookie("LanguagePref")
    cookie.Expires = DateTime.Now.AddDays(-1)
    Response.Cookies.Add(cookie)

    مثال
    در این مثال هدف آشنائی با نحوه ایجاد ، مقداردهی و بازیابی یك كوكی است .
    در اولین مرتبه ای كه صفحه درخواست می گردد به دلیل عدم وجود كوكی مورد نظر ، پیام "كاربر ناشناس " نمایش داده شده و با ارائه یك text box این امكان در اختیار كاربر گذاشته می شود تا نام مورد نظر خود را جهت ذخیره در كوكی درج نماید . پس از این كار و همزمان با درخواست صفحه و با توجه به وجود كوكی مورد نظر ، یك پیام خوش آمدگوئی نمایش داده می شود . كوكی ایجاد شده در این مثال به مدت یك سال از تاریخ ایجاد ، اعتبار خواهد داشت .
    عملیات تشخیص وجود كوكی و نمایش یك پیام خوش آمدگوئی از طریق روتین Page_Load انجام می شود . روتین cmdStoreCookiee_Click مسئولیت ایجاد كوكی و تعیین یك تاریخ اعتبار برای آن را برعهده دارد  .

    صفحه CookieExample.aspx

    <%@ Page Language="VB" Culture="fa-IR" UICulture="fa-IR" %>

    <script runat
    ="server">

     Protected
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    _
                    Handles
    MyBase
    .Load
     Dim Cookie As HttpCookie = Request.Cookies("Preferences"
    )
     If Cookie Is Nothing
    Then
     
      lblWelcome.Text =
    "<b>كاربر ناشناس</b>"
     
    Else
       lblWelcome.Text =
    "<b>كوكی موجود است </b><br><br>"
       lblWelcome.Text &= "خوش آمدید, " & Cookie("Name"
    )
     End
    If
     End
    Sub

     Protected
    Sub cmdStoreCookiee_Click(ByVal sender As Object, ByVal e As
    EventArgs) _
                   
    Handles
    cmdStoreCookie.Click
     Dim Cookie As HttpCookie = Request.Cookies("Preferences"
    )
     If Cookie Is Nothing
    Then
      Cookie = New HttpCookie("Preferences"
    )
     End
    If
     Cookie("Name"
    ) = txtName.Text
     Cookie.Expires = DateTime.Now.AddYears(1)
     Response.Cookies.Add(Cookie)
     lblWelcome.Text =
    "<b>كوكی ایجاد گردید</b><br><br>"
     
    lblWelcome.Text &= "كاربر جدید : " & Cookie("Name"
    )
    End
    Sub

    </script>

    <html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" >
    <
    head runat
    ="server">
     <
    title>تست كوكی</title
    >
    </
    head
    >
    <
    body style
    ="font-family: Tahoma">
    <
    form id="form1" runat
    ="server">
        <
    asp:Label ID="lblWelcome" runat="server" EnableViewState="False" Font-Names="Tahoma"
    >
               </
    asp:Label><br />&nbsp;<br
    />
        
    نام:<asp:TextBox ID="txtName" runat="server" Width="178px" Font-Names
    ="Tahoma">
                </
    asp:TextBox><br /><br
    />
       <
    asp:Button ID="cmdStoreCookie" runat="server" Text="ایجاد كوكی" Font-Names="Tahoma"
    />
    </
    form
    >
    </
    body
    >
    </
    html>

    شكل 1 ، نحوه عملكرد برنامه فوق را در اولین مرتبه دستیابی ( و با فرض عدم وجود كوكی ) نشان می دهد .

    نحوه عملكرد كوكی های سفارشی
    شكل 1 : نحوه عملكرد كوكی های سفارشی

    و اما  آخرین نكته این كه ، برخی از ویژگی های ارائه شده در ASP. NET با استفاده از كوكی خدمات خود را ارائه می نمایند .  session state  كه به پیاده كنندگان اجازه می دهد بطور موقت اطلاعات مرتبط با كاربر را در حافظه سرویس دهنده ذخیره نمایند و  امنیت فرم ها كه این امكان را در اختیار پیاده كنندگان قرار می دهد تا بخش هائی از یك وب سایت را محدود به كاربران تائید شده نمایند ، دو نمونه متداول در این رابطه می باشند . 





نوع مطلب :
برچسب ها :
لینک های مرتبط :




درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :

                    
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic