大家都知道酒酿蛋是非常传统的美胸食品产后丰胸产品,醪糟也叫酒酿,是由糯米或者大米经过酵母发酵而制成的一种风味食品,其产热量高,富含碳水化合物丰胸产品燕窝酒酿蛋、蛋白质、b族维生素、矿物质等,这些都是人体不可缺少的营养成分酒酿蛋丰胸方法。其中酒酿中含的醣化酵素,能促进乳房的二次发育,具有美胸的作用燕窝酒酿蛋丰胸
State Management در ASP. NET 2.0 (بخش هفتم)
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

State Management در ASP. NET 2.0

State Management در ASP. NET 2.0 (بخش هفتم)
آنچه تاكنون گفته شده است :

 بخش اول

 مفاهيم اوليه

:

 ضرورت مديريت state در برنامه های وب

 بخش دوم  

 view state   

:  نحوه ايمن سازی اطلاعات ذخيره شده در view state
 بخش سوم  

view state

: نحوه نگهداری Member Variables و اشياء سفارشی
 بخش چهارم

cross-page posting

: انتقال اطلاعات از يك صفحه به صفحه ای ديگر
 بخش پنجم

cross-page posting

: نحوه دريافت اطلاعات  از صفحه مبداء
 بخش ششم

Query String

:  نحوه انتقال اطلاعات بين صفحات

در اين بخش با كوكی های سفارشی و نحوه عملكرد  آنها برای ذخيره و بازيابی اطلاعات آشنا خواهيم شد .

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

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

نحوه ذخيره و بازيابی اطلاعات
فرآيند ذخيره و بازيابی اطلاعات در يك كوكی به سادگی انجام می شود . اشياء 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  كه به پياده كنندگان اجازه می دهد بطور موقت اطلاعات مرتبط با كاربر را در حافظه سرويس دهنده ذخيره نمايند و  امنيت فرم ها كه اين امكان را در اختيار پياده كنندگان قرار می دهد تا بخش هائی از يك وب سايت را محدود به كاربران تائيد شده نمايند ، دو نمونه متداول در اين رابطه می باشند . 
در بخش هشتم  به بررسی Session State  خواهيم پرداخت .


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir