مهدی عزیزی

۴ مطلب با کلمه‌ی کلیدی «طراحی سایت» ثبت شده است

مدیریت حالت(State Management) در ASP.NET

در این مقاله به مبحث State management پرداخته شده است، این بحث نیاز حیاتی برای برنامه نویسان وب که با تکنولوژی ASP.NET برنامه نویسی می کنند می باشد. اهمیت این موضوع به دلیل وجود راه های متفاوت برای مدیریتState در تکنولوژی ASP.NET می باشد. در این مقاله سعی بر این است تا این راه های متفاوت را مورد بحث قرار داده و و نقاط قوت و ضعف این راه ها را ارئه می‏کنیم. شاید کمکی باشد برای برنامه نویسان ایرانی تا برنامه های کاربردی بهتری را در محیط وب توسعه دهند.

پیش درآمد موضوع

همان طور که می‏دانید، HTTP یک پروتوکل State less است به این معنی که هیچ وضعیتی را بعد از انجام درخواست نگه داری نمی کند. به عبارت دیگر زمانی که کاربران درخواستی را به سرور ارسال می‏کنند سرور مطابق با نیاز های پاسخگویی منابعی مانند بخشی از حافظه، پردازشگر و غیره ... را به آن اختصاص داده و پس از پاسخ گویی کامل تمامی این منابع را آزاد می‏کند. این بحث برای برنامه نویسانی که تنها تجربه برنامه نویسی با Windows را دارند مطلبی جالب و تا حدی عجیب  است.

اگر قصد پیگیری اطلاعات کاربر در بین صفحات مختلف که توسط او دیده شده است و یا حتی اطلاعات مشاهده یک صفحه توسط کاربران مختلف داشته باشیم. در این حالت نیاز است که از تکنولوژی State management  که در ASP.NET وجود دارد استفاده شود.تکنولوژی State management پردازشی است که در ASP.NET به برنامه نویسان این امکان را میدهد تا وضعیت صفحات و اطلاعات موجود در درخواست ها و صفحات مختلف را مدیریت کنند.

 انواع State management

دو نوع کلی در State management  وجود دارد:

Client Sate Management

Server Sate Management

هنگامی که از حالت اول یعنی Client Sate management استفاده می‏شود به این معنی است که تمامی وضعیت ها و اطلاعات در سمت Client ،که از این پس در این مقاله به آن مشتری گفته میشود، ذخیره میگردد. در این حالت اطلاعات دائماٌ بین سرور و مشتری در سفر است.

سود مندی :

این حالت کمک میکند تا بار زیادی از مسئولیت مدیریت داده ها از دوش سرور برداشته شود، و فضای زیادی از حافظه سرور حفظ شود.

نقطه ضعف:

حجم زیادی از پهنای باند را اشغال کرده و کارای برنامه در زمانی که تعداد مشتری ها زیاد می‏شود به شدت کاهش پیدا می‏کند. علاوه بر این ضعف بزرگتری در این روش احساس می شود که آن هم امنیت اطلاعات می باشد، زیرا در این حالت اطلاعات به راحتی در اختیار کسانی که در میان این مسیر هستند قرار می‏گیرد. در نتیجه این راه حل به هیج عنوان برای ذخیره رمز عبور، شماره کارت های اعتباری، اطلاعات مالی و ... راه حل مناسبی نخواهد بود.

در نقطه مقابل ،حالت Server State Management تمامی اطلاعات را در سمت سرور ذخیره می‏کند.

سودمندی:

همان طور که اشاره شد سودمندی این حالت در امن نگاه داشتن داده های حساس می باشد.

نقطه ضعف:

در این حالت حجم زیادی از حافظه سرور مورد استفاده می‏شود.

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

Client Side State Management

View State

Control State

Hidden Field

Cookies

Query String

 

Server Side State management

Application State

Session State

برای یادگیری مدیریت حالت در ASP.NET این مقاله را از لینک زیر دانلود کنید:

دانلود مقاله

۲۲ اسفند ۹۲ ، ۱۹:۰۱ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

نحوه درج فایل فلش در ASP.NET

1-کنترل flash control رو از آدرس زیر دانلود کنید.

http://www.flash-control.net/download/FlashControl.zip

2-visual studio رو باز کنید و در toolbox هر جایی که می خواهید این کنترل اضافه بشه (مثلا قسمت standard) کلیک راست کنید.

3- گزینه choose Items رو انتخاب کنید و بعد در قسمت Net Framework components. دکمه browse رو انتخاب کنید. حالا فایل flashcontrol.dll رو از هاردتون بهش معرفی کنید.

همین...!

حالا دقیقا مثل بقیه کنترلها ازش استفاده کنید...

۰۶ اسفند ۹۲ ، ۱۲:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

CGI چیست و چگونه کار می‌کند

CGI مخفف Common Gateway Interface است. CGI یک بخشی از وب سرور (Web Server) است که این قابلیت را فراهم میکند تا برنامه ای در سمت سرور اجرا شود و خروجی آن برنامه برای کاربر متصل شده به سرور از طریق صفحه ی وب به نمایش در آید. CGI یکی از اولین روش ها برای تولید صفحات وب پویا (Dynamic) به حساب می‌آید که دارای قدمت زیادی ست. به عنوان مثال در موتور های جستجو کاربر تنها یک صفحه در مقابل خود میبیند که شامل یک کادر برای وارد کردن کلید واژه و یک دکمه‌ی جستجو ست. وقتی کاربر دکمه ی جستجو را میزند، CGI یه اسکریپت را (فرضا" به زبان Perl) که در پوشه‌ی خاصی (cgi_bin) روی سرور قرار گرفته اجرا می کنه. با اجرای این اسکریپت کلید واژه ی کاربر به عنوان ورودی استخراج شده و در پایگاه داده‌ای این کلید واژه جست و جو می‌شود تا نتایج جست و جو به دست آید. در نهایت در خروجی اسکریپت یه فایل HTML درست شده که نتایج جستجو را شامل می‌شود و CGI این HTML را به عنوان پاسخ برای کاربر ارسال میکند. چون پویش در یک پایگاه داده به طور مستقیم از راه HTML ممکن نیست، مجبور شدیم از کد Perl برای این کار کمک بگیریم و CGI فقط نقش یه واسطه را بازی میکند.

۲۷ بهمن ۹۲ ، ۱۳:۴۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

الگوی طراحی MVC

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

خوشبختانه در دنیای نرم‌افزار ، معماری‌ و الگوهای متفاوتی برای توسعه نرم‌افزار به وجود آمده‌ است، این که از چه الگویی و کجا و چگونه استفاده شود به بررسی و استفاده از تجربه شخصی و تجربه دیگران نیاز دارد. شاخصه‌های زیادی برای طراحی این الگوها در نظر گرفته می‌شود که چند مورد از آنها را تیتروار بیان می‌کنیم:

۱ ـ نگهداری از سیستم: سیستم باید طوری طراحی شود تا گروه توسعه‌دهنده یا تیم‌های دیگر بتوانند خطاها و باگ‌های آن را براحتی در کمترین زمان ممکن رفع کنند.

۲ ـ قابلیت استفاده مجدد: یک طراحی خوب باید بتواند در درازمدت هم قابلیت توسعه داشته باشد و قابلیت‌های جدید براحتی و بدون کمترین خللی در بقیه اجزا به سیستم اضافه شود.

۳ ـ بازد‌هی سیستم: بخشی از بازدهی سیستم مربوط به چارچوب کاری و پلتفرم مورد استفاده است؛ اما یک الگوی مناسب با تقسیم اجزا و ایجاد رابطه منطقی بین آنها می‌تواند در بازدهی سیستم تاثیر بسزایی داشته باشد.

۴ ـRapid Application Development) RAD) : یک معماری خوب می‌تواند سرعت توسعه را به طرز قابل ملاحضه‌ای افزایش دهد. حذف عملیات تکراری و ساده باعث می‌شود تمرکز تیم توسعه‌دهنده به بخش‌های اساسی سیستم و تامین امنیت برنامه معطوف شود.

یکی از این الگوهای طراحی نرم‌افزار MVC نام دارد. MVC روشی

ادامه مطلب...
۲۶ دی ۹۱ ، ۱۱:۵۵ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی