در این پست، دهمین و نهایتاً آخرین تکنیک از سری آموزش ده تکنیک افزایش سرعت برنامه های تحت وب را در سایت پرووید قرار داده ایم. تکنیک دهم مربوط به View State در سرور کنترل ها می شود.

قابلیت view state یک موضوع بسیار جالب در برنامه های تحت وب است. با استفاده از view state می توانید داده هایی را ذخیره کنید و در هنگام post back شدن صفحه از آنها استفاده کنید. (جا دارد همین جا عرض کنیم که در ASP.NET MVC خبری از view state نیست. این موضوع به دلیل سربارهای view state در برنامه های تحت وب است که به امید خدا در مقاله ی دگیری از آن صحبت می کنیم.) تعداد زیادی از سرور کنترل ها از view state استفاده می کنند. یکی از برتری های view state در این است که بدون استفاده از cookie ها و یا ذخیره کردن داده ای در سرور، می توان صفحات وب و مرورگر کاربر را همگام نگه داشت.

با تمام این برتری ها، view state دارای معایبی هم هست:

  • سرعت ارسال صفحه به کاربر و سپس از کاربر به سرور کاهش پیدا می کند. دلیل این موضوع سربار داده ای ست که view state به صفحه اضافه می کند.
  • قرار دادن داده ها در view state و بعد خواندن آنها در سمت سرور هم زمانی را مصرف می کند. این دو عمل به ترتیب serialize کردن و deserialize کردن نام دارد.
  • به علاوه، استفاده از view state حافظه ی مصرفی در سمت سرور را افزایش می دهد.

همانطور که گفته شده اغلب کنترل ها از view state استفاده می کنند. DataGrid شدیداً از view state استفاده می کند. این موضوع حتی هنگامی که DataGrid به view state نیازی ندارد هم اتفاق می افتد. به راحتی می توان view state را برای یک کنترل غیرفعال کرد. به علاوه، بر اساس دستور زیر می توان view state را در سطح صفحه نیز غیر فعال کرد.

<%@ Page EnableViewState="false" %>

غیر فعال کردن view state در زمانی هایی که هر بار کنترلها را از نو ایجاد می کنید و یا صفحات را post back نمی کنید، می تواند سرعت برنامه را بهبود ببخشد.

پس، به عنوان نهمین تکنیک افزایش سرعت برنامه های تحت وب، می توانید از view state استفاده نکنید. همانطور که گفته شده سربارهای زیادی که view state برای برنامه ایجاد می کند باعث حذف شدن کامل آن از معماری ASP.NET MVC شده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *