Archive

Archive for January, 2009

از بین Viewstate, Session, Application, Cache, Cookies کدام را انتخاب کنیم؟

بهمن ۱۲م, ۱۳۸۷ HFakhraei ۲ comments

مشکل اصلی تمامی برنامه های وب

تمامی برنامه هایی که در محیط وب نوشته می شوند به طور ذاتی stateless می باشند، به این معنی که بعد از اینکه یک صفحه در سمت سرور برای کلاینت ایجاد گردید دیگر هیچ گونه اطلاعاتی از آن صفحه بر روی سرور باقی نمی ماند و هنگامیکه کاربر صفحه را Submit می کند شما مجبورید تمامی اطلاعات را از ابتدا بارگذاری کرده و صفحه را ایجاد نمایید.

ASP.Net برای حل این مشکل راه حل های متفاوتی ارائه نموده است:

  • Viewstate
  • Session Variables
  • Application Variables
  • Cache
  • Cookies

سوالی که در اینجا مطرح می شود این است که چه زمانی از چه راه حلی استفاده نماییم؟

۱- Viewstate

Viewstate یک فیلد اطلاعاتی مخفی در داخل صفحات ASP.Net است که اطلاعات تمامی کنترل های بر روی صفحه که خاصیت “EnableViewstate” آنها True می باشد را شامل می شود.

شما همچنین می توانید اطلاعات خاصی را مانند زیر به Viewstate صفحه خود اضافه نمایید:

Viewstate.Add( “TotalStudents”, “87″ );

توجه داشته باشید که اطلاعات Viewstate فقط در داخل یک صفحه قابل دسترسی می باشد و زمانی از آن بهتر است استفاده شود که رفت و برگشت های متعددی در داخل یک صفحه داشته باشیم.

به دلیل اینکه Viewstate ها در زمان ایجاد صفحه به کد تولید شده اضافه می شوند، حجم صفحات تولید شده را در زمان انتقال به کلایت افزایش می دهند، پس بهتر است در زمانهایی که با محدودیت bandwidth  رو به رو هستیم (مانند اتصال Dialup) در استفاده از Viewstate ها دقت نماییم.

۲- Session Variables

بیشتر برنامه نویس ها علاقه زیادی به استفاده از Session Variable ها دارند و Session Variable ها بسیار پر کاربرد می باشند.

هنگامی که کاربر از یک سایت دیدن می کند یک Session برای او باز می گردد و این Session زمانی از بین می رود که کاربر سایت را ترک کند یا برای مدت مشخصی Idle گردد. توجه گردد اطلاعات Session بین کاربران به اشتراک گذاشته نمی شود.

Session Variable ها بهتر است در زمان هایی استفاده گردند که اطلاعات خاصی لازم است در تمامی صفحات به اشتراک گذاشته شود و این اطلاعات را باید توان در صفحات مختلف ذحیره و یا به روز کرد.

Session Variables ها از حافظه رم سرور استفاده می کنند پس بهتر است در زمان هایی که سایت شما بازدید کننده های بسیار دارد در استفاده از آنها دقت شود و اطلاعات حجیم را در آنها نگهداری نکنید.

۳- Application Variables

Application Variables  ها اطلاعاتی می باشد که در میان تمامی کاربرانی که از یک سایت دیدن می کنند به اشتراک گذاشته می شود.

Application Variables ها را می توان به عنوان جانشینی برای Static Variable ها در محیط Stateless وب دانست. پس بهتر است فقط اطلاعاتی را که لازم ااست بین تمامی کاربران به اشتراک گذاشته شود در آنها قرار داد و به مجرد اینکه نیازی به آنها نبود آنها را از بین برد.

۴- Cache

شاید بتوان گفت Cache از کمترین درجه اهمیت در ASP.Net بر خوردار است.

Cache را می توان به  منبعی برای نگهداری حالت های اشیائی مانند Pages, Controls تشبیه کرد. که نیاز به تولید مجدد آنها نمی باشد (یا پس از یکبار تولید آنها تغییری در آنها ایجاد نمی شود) و همیشه ساختار و شکل یکسانی دارند و به صورت مداوم از آنها استفاده می شود.

۵- Cookies

Cookie ها اطلاعاتی می باشند که بر خلاف بقیه مدل ها بر روی Browser کاربر برای استفاده در آینده نگهداری می شوند.

بیشتر مواقع ازCookie ها در سایت های پریا برای شاناسایی خودکار کاربر و بازیابی اطلاعات و تنظیمات خاص آن کاربر استفاده می شود، مانند ورود خودکار (Automatic Login) به یک وب سایت.

به دلیل اینکه Cookie ها در سمت کاربر نگهداری می شوند ممکن است از نظر امنیتی دچار مشکل شوند و توسط Browser هک شوند. پس بهتر است اطلاعات مهم را در داخل Cookie ها ذخیره نکنیم.

در انتها بهتر است موارد زیر را در نظر بگیریم:

ViewState همیشه به Bandwidth زیادی نیاز دارد.

Session ها بسته به تعداد کاربران می توانند حافظه زیادی مصرف کنند.

Application Variable ها به صورت اشتراکی مصرف می شوند.

Cache بسته به تعداد کاربرانی که از سیستم استفاده می کنند می تواند منابع سیستم (مانند حافظه) را بسیار اشغال کند.

Cookie ها از امنیت کمی برخوردار هستند.

منبع: ArticleBase

Categories: .Net Tags:

حمایت نوکیا از مردم غره

بهمن ۶م, ۱۳۸۷ HFakhraei ۱ comment

پس از حمله به تعدادی از تابلوهای تبلیغاتی Nokia در تهران نمایندگی نوکیا "شرکت پارس ایراتل" تعدادی از تابلوهای تبلیغاتی خود را برای حمایت از مردم غزه اختصاص داده است.

 CC000040

 CC000041

Categories: Daily News Tags:

دریا دادور

بهمن ۵م, ۱۳۸۷ HFakhraei ۹ comments

شاید شما نیز مثل من تا کنون اسم دریا دادور را نشنیده باشید. من دیشب از طریق برنامه بی بی سی فارسی با این خواننده جدید آشنا شدم.
لطفا کمی صبر نمایید تا ویدیو زیر لود شود.

ولی نکته در اینجاست که این خواننده با بقیه خواننده های لس آنجلسی خیلی فرق داره، اولا آهنگ های قدیمی را می خواند، ثانیا با سبکی بسیار زیبا. پیشنهاد می کنم حتما سری به سایتش بزنید و اگه می توانید با رفتن به کنسرت هایش او را حمایت کنید.

در حقیقت خواننده هایی مانند خانم دادور می توانند فرهنگ واقعی ایرانی را معرفی کنند. نظر شما چیه ؟؟؟؟

Categories: Misc Tags:

Switch to our mobile site