راهکارهای مديريت وضعيت صفحات ASP.NET
State management ، پردازشی است که بکمک آن وضعيت يک صفحه و اطلاعات مرتبط به آن ، ذخيره و از اين طريق امکان دستيابی و استفاده از اطلاعات فوق برای ساير صفحات فراهم خواهد شد. ASP.NET در اين راستا روش های متعددی را ارائه نموده است . انتخاب هر يک از روش های موجود ، مستلزم بررسی عميق و پاسخ دادن به نمونه سوالاتی مشابه زير است :
▪ چه ميزان اطلاعات می بايست ذخيره گردد؟
▪ آيا سرويس گيرنده توانائی پذيرش کوکی را دارا است ؟
▪ قصد ذخيره اطلاعات بر روی سرويس دهنده و يا سرويس گيرنده را داريد؟
▪ آيا بر روی اطلاعات حساسيت های خاصی وجود دارد؟
▪ چه نوع کارائی را می خواهيد داشته باشيد ؟
ASP.NET برای state management ، دو رويکرد مجزای Client-side و server-side را ارائه نموده است . روش های ارائه شده ء Client-Side شامل موارد زير است :
▪ The ViewState property
▪ Hidden fields
▪ Cookies
▪ Query strings
روش های ارائه شده ء Server-Side شامل موارد زير است :
▪ Application state
▪ Session state
▪ Database
در ادامه به بررسی مزايا و معايب هر روش خواهيم پرداخت .
الف ) نقد روش های Client-Side . ذخيره سازی اطلاعات مربوط به صفحات با استفاده از روش های اين گروه ، با توجه به عدم استفاده از منابع موجود بر روی سرويس دهنده ، دارای کارائی بيشتری بوده ولی با توجه به استقرار اين نوع اطلاعات بر روی سرويس گيرنده دارای حاشيه امنيتی پايين تری در مقايسه با روش دوم است . در ضمن ، با توجه به حجم اطلاعات ارسالی از سرويس گيرنده به سرويس دهنده از يکطرف با مسئله محدوديت ها مواجه بوده و از سوی ديگر ، ارسال حجم بالائی از اطلاعات برای سرويس دهنده می تواند اثرات منفی در کارائی سرويس دهنده را بدنبال داشته باشد. جدول زير ويژگی هر يک از روش های گفته شده را نشان می دهد.
ويژگی |
روش |
زمان استفاده : بمنظور ذخيره نمودن حجم اندکی از اطلاعات موجود در صفحه ای که قصد مراجعت مجدد به آن وجود دارد استفاده می گردد. بدين منظور لازم است از خصلت viewstate استفاده گردد. در روش فوق به مسئله امني |
نظرات شما عزیزان:
????????: راهکارهای مديريت وضعيت صفحات ASP, NET ,