انتخابی که شما انجام میدهید اعم از آنکه چگونه و کجا یک وضعیت را ذخیره نمایید تاثیر بسزایی در عملکرد و مقیاس پذیری برنامه شما خواهد داشت. چند نوع مختلف از وضعیت ها وجود دارد که در اینجا به ۲ مورد از مهمترین وضعیت ها و تاثیر آنها در بهینه سازی عملکرد ASP.Net اشاره خواهیم کرد:
Application state در واقع برای ذخیره سازی اطلاعات ایستا در برنامه کاربرد دارد. ASP .NET به صورت کلی Application state را جهت انتقال برنامه های ASP(classic active server page) به پلتفرم .net بکار میبرد و این امر را برای توسعه دهندگان بسیار راحت ساخته است.
اگر از Application State استفاده می نمایید میتوانید موارد زیر را جهت بهینه سازی عملکرد برنامه مد نظر داشته باشید:
باید همواره سعی نمایید داده ها را در اعضای ایستای یک کلاس تعریف نمایید ( از تعریف آنها در اشیاء برنامه خود بپرهیزید). این امر باعث افزایش کارایی برنامه شما خواهد شد زیرا دسترسی شما به یک متغییر ایستا بسیار سریعتر است .
به عنوان مثال میتوانید قطعه کد ساده زیر را در نظر بگیرید(تعریف در اعضای static یک کلاس صورت گفته است):
<% private static string[] _states[]; private static object _lock = new object(); public static string[] States { get {return _states;} } public static void PopulateStates() { //ensure this is thread safe if(_states == null) { lock(_lock) { //populate the states } } } public void Application_OnStart(object sender, EventArgs e) { PopulateStates(); } %>
Application State دارای کاربردی گسترده بوده و خاص سرور است بنابر این شما میتوانید اطلاعات ورودی و خروجی را در آن ذخیره نمایید ولیکن بهتر است داده های فقط خواندنی read-only)) را در آن ذخیره نمایید تا از وابستگی سرور به این داده ها جلوگیری شود . اشیاء Cache شده میتوانند جایگزین مناسب تری برای داده های read-only باشند.
عدم اجرای این عمل برنامه شما را درتنگنا قرار داده و باعث می شود کارایی برنامه شما بشدت کاهش یابد زیرا برنامه نوشته شده تحت پلتفرم asp.net یک نخ (thread) خاص را هنگام دسترسی به کامپوننت مورد نظر اجرا میکند.
اگر نیاز دارید که از Session State در برنامه ASP.Net استفاده نمایید می توانید از Session State های زیر استفاده نمایید و هریک دارای درجات مختلف بوده و عملکرد و مقیاس پذیری خاصی در برنامه شما خواهد داشت.
جهت بهینه سازی عملکرد Session State دستور العمل های زیر را مد نظر داشته باشید :
میتوان session state را برای همه ی برنامه های موجود بر روی server و یا برای برخی برنامه های خاص و یا صفحه ای مورد نظر مانند آنچه در ذیل آمده است ،غیر فعال نمود:
جهت غیر فعال کردن Session State برای همه ی برنامه های میتوان کد زیر را در Machine.config قرار داد:
<sessionState mode=’Off’/>
جهت غیر فعال کردن Session State برای برنامه ای خاص میتوان کد بالا را در web.config برنامه مورد نظر قرار داد.
جهت غیر فعال کردن Session State برای صفحه ای خاص میتوان از کد زیر در تنظیمات صفحه page setting استفاده نمود:
<%@ Page EnableSessionState=”false” . . .%>
<%@ Page EnableSessionState=”ReadOnly” . . .%>
شبکه های ارتباطی در طی چند دهه اخیر دچار تحولات بنیادینی شده اند. در آغاز،…
مایکروسافت با انتشار نسخه ی ویندوز سرور 2025، یک بار دیگر ثابت کرده که در…
حملات DDoS (Distributed Denial of Service) یکی از پیچیدهترین و مخربترین تهدیدات سایبری برای وبسایتها…
PyTorch یک چارچوب ماشین لرنیگ اوپن سورس پرکاربرد است که به دلیل سهولت استفاده، نمودار…
اگر شما یک شخص، یک کسب و کار کوچک یا یک شرکت تجاری باشید که…
Ansible برای مدیران سیستم و متخصصان DevOps که می خواهند روند کار IT خود را…