ششمین جلسه دوره آموزشی ASP .NET Core پیشرفته با تدریس مهندس علیرضا ارومند با موفقیت برگزار شد.
از مباحثی که در این جلسه مطرح شد عبارتند از:
1- Controllerها
ششمین جلسه از دوره ASP.NET Core به شرح کامل در موردControllerها پرداخته شد . Controller قلب هر سیستم MVC است و تسلط به وظیفه و نحوه کارکرد آن میتواند تضمین کننده داشتن سیستم تمیز و کارآمد باشد.
در ابتدا با وظایف یک کنترلر خوب در الگوی MVC آشنا شدیم.
2- پیادهسازی Controller در ASP.NET Core MVC
بعد از آشنایی با عملکرد آن به سراغ پیادهسازی آن در ASP.NET Core MVCرفتیم. برای شناخت کامل کنترلر سه سوال اصلی در مورد یک کنترلر در سیستم را بررسی کردیم و دیدیم هر کنترلر باید ابتدا توسط سیستم شناسایی شود. بعد از شناسایی و نمونهسازی باید اطلاعات محیطی را دریافت کند و در نهایت باید به کمک اطلاعات محیطی پاسخ مناسب را برای کاربر ایجاد کند.
برای اینکه هر چه بیشتر با عملکرد داخلی MVC در مورد این سوالات آشنا شویم یک کلاس خام ایجاد کردیم و از ابتدا شروع به ساخت یک کنترلر اختصاصی خودمان کردیم.
در ابتدا بررسی کردیم که چگونه یک کلاس به عنوان کنترلر شناسایی میشود و دیدیم که چگونه میتوانیم از شناسایی کلاسها و اکشنهای خودمان توسط فریمورک پیشگیری کنیم.
3- دستیابی به اطلاعات محیطی
پس از پیادهسازی روش شناسایی در فریمورک نوبت به دستیابی به اطلاعات محیطی رسید که نسبت به سوال قبلی چالشهای بیشتری دارد. در این زمینه با کلاس ControllerContext و نحوه تزریق آن در سیستم آشنا شدیم و دیدیم چگونه بسیاری از ویژگیهای موجود در کلاس کنترلر پایه به کمک این خاصیت به دست میآید.
در نهایت نوبت به ایجاد پاسخ مناسب برای درخواست کاربر میرسد. سادهترین راه تولید جواب در برنامههای تحت وب استفاده از Response برای تولید خروجی نوشتن در بدنه Response است. اما این کار در کنار سادگی حجم کدها را بسیار بالا میبرد و نیاز است کار تکراری انجام دهیم که هم احتمال خطا را زیاد میکند و هم اصل SOC را به درستی رعایت نمیکنیم. برای حل این مشکل در فریمورکActionResult ها در نظر گرفته شدهاند که به ما کمک میکنند که یک نتیجه مناسب با توجه به نوع درخواست در اختیار کاربر قرار دهیم. برای شناسایی هر کاری بهترین راه پیادهسازی اختصاصی آن است و دراین قسمت ما یک ActionResultاختصاصی خودمان در سیستم ایجاد کردیم و دیدیم که چگونه میتوان با توجه به اطلاعات محیطی پاسخ مناسب را در یک نقطه مرکزی ایجاد کرده و در اختیار کاربران قرار داد.
4- ActionResultها
بعد از این مرحله به سراغActionResultهای پیشفرض رفتیم و به بررسی آنها پرداختیم که در ادامه برخی از آنها را با هم مشاهده میکنیم.
ViewResult به جرات بیشترین هدف از اجرای یک کنترلر تولید یک صفحه خروجی برای کاربر است که برای این کار به سراغViewها رفتیم. دیدیم چگونه Viewها در سیستم جستجو و یافت میشوند و چگونه میتوانیم در صورت نیاز اطلاعات خود را به Viewها ارسال کنیم.
بررسی انواع Redirect و RedirectResultبخش بعدی از کلاس را تشکیل میداد که در این قسمت با انواع انتقال دائم و موقت آشنا شدیم و دیدیم چگونه میتوانیم وضعیت دادهها را بین دو درخواست جداگانه حفظ کنیم.
ارسال فایل به کاربری یکی دیگر از انواع پاسخهایی است که باید برای کاربر ارسال کنیم و در این قسمت با انواع روشهای ارسال فایل به کاربر آشنا شدیم و دیدم چگونه میتوانیم به کمک این نتیجه دسترسی به فایلهای سیستم را محدود کنیم و قبل از ارسال فایل برای کاربر منطق خاصی ایجاد کنیم.
جهت کسب اطلاعات بیشتر میتوانید به دوره بسیار کاربردی دوره آموزشی ASP.NET Core MVC پیشرفته مراجعه کنید.