دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۶
  • شهریور

جلسه ۳۶ : فیلترهای اجرایی در ASP.NET MVC

  • دسته‌بندی‌ها :
جلسه ۳۶ : فیلترهای اجرایی در ASP.NET MVC
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. تاکنون با مباحث مقدماتی فیلترهای ASP.NET MVC آشنا شدید، در ادامه ی این مباحث و در این بخش، ما قصد داریم شما را با مبحث Action filter (فیلترهای اجرایی) آشنا کنیم. فیلترهای اجرایی در ASP.NET MVC می توانند قبل یا بعد از یک متد اجرایی اجرا شوند. ویژگی های Action filter در ASP.NET MVC را می توان به یک متد اجرایی یا کنترلر اعمال کرد، در ادامه ی مباحث شما را با فیلترهای اجرایی در ASP.NET MVC آشنا خواهیم کرد.

      فیلترهای اجرایی در ASP.NET MVC

      هنگامی یک Action filter در ASP.NET MVC به یک کنترلر اعمال شود. این ویژگی به تمام متدهای اجرایی همان کنترلر نیز اعمال می شود.

      OutputCache یک ویژگی فیلتر درونی ساخته شده است که می تواند به یک متد اجرایی اعمال شود که ما می خواهیم خروجی را ذخیره کنیم. برای مثال، خروجی متد اجرایی زیر برای ۱۰۰ ثانیه ذخیره می شود:

      مثال : 

      شما می توانید یک فیلتر سفارشی برای برنامه ی خود ایجاد کنید.

      ایجاد فیلتر اجرایی سفارشی

      شما با دو روش می توانید فیلتر سفارشی ایجاد کنید.

      در روش اول باید IActionFilter interface و کلاس FilterAttribute را پیاده سازی کنید.

      روش دوم با برداشتن چکیده ی ActionFilterAttribute انجام می شود.

      رابط کاربری IActionFilter شامل دو متد برای پیاده سازی می شود:

      • (void OnActionExecuted(ActionExecutedContext filterContext
      • (void OnActionExecuting(ActionExecutingContext filterContext

      کلاس چکیده ی ActionFilterAttribute نیز شامل متدهای زیر می شود:

      • (void OnActionExecuted(ActionExecutedContext filterContext
      • (void OnActionExecuting(ActionExecutingContext filterContext
      • (void OnResultExecuted(ResultExecutedContext filterContext
      • (void OnResultExecuting(ResultExecutingContext filterContext

      همانطورکه که مشاهده می کنید کلاس ActionFilterAttribute شامل چهار روش برای بارگزاری می شود.

      این شامل روش OnResultExecuted و OnResultExecuting است که می تواند برای اجرای منطق سفارشی قبل یا بعد از نتیجه اجرا شود.

      فیلترهای اجرایی معمولا برای اعمال پیچیده مانند ورود به سیستم، ذخیره سازی، مجوز و غیره استفاده می شود.

      در مثال زیر ما از کلاس Log filter برای عمل logging استفاده می کنیم:

      مثال : 

      همانطور که مشاهد می کنید کلاس Log از کلاس ActionFilterAttribute مشتق می شود. این Log قبل یا بعد از یک متد اجرای یا نتیجه اجرا می شود.

      شما می توانید ویژگی Log را به هر کنترلر یا متدهای اجرایی زمانیکه می خواهید وارد عمل شوید اعمال کنید.

      برای مثال، با اعمال ویژگی log به کنترلر، این وارد تمام متدهای اجرایی یک کنترلر می شود:

      مثال-  اعمال فیلتر Log به کنترلر:

      مثال : 

      در مثال فوق، خروجی زیر را در پنجره ی خروجی Visual Studio در مسیر http://localhost/student نمایش می دهد:

      نمایش خروجی در ویژوال استدیو

      برای استفاده از Action filter در ASP.NET MVC نکات زیر را به خاطر بسپارید:

      ۱- فیلترهای اجرایی اجازه می دهند منطق پیش و پس از پردازش به یک متد اجرایی اعمال شود.

      ۲- متدهای اجرایی عموما برای اعمالی مانند ورود به سیستم، ذخیره سازی، مجوز و غیره بکار می رود.

      ۳- فیلترهای اجرایی می تواند به عنوان فیلترهای دیگر در سطح عمومی ، کنترلر یا سطح متد اجرایی اعمال شود.

      ۴- فیلترهای اجرایی سفارشی را می توان با کلاس ActionFilterAttribute یا با پیاده سازی کلاس IActionFilter interface و FilterAttribute ایجاد کرد.

      ۵- هر متد اجرایی باید روی متدهای OnActionExecuted, OnActionExecuting, OnResultExecuted, OnResultExecuting لغو شود.

      کلام آخر

      در ادامه ی مباحث فیلترهای MVC در این بخش نیز به آموزش فیلترهای اجرایی در ASP.NET MVC پرداختیم. و مباحث فیلتر را با ارائه ی Action filter در ASP.NET MVC تمام کردیم. در فصل بعدی نیز به مبحث Bundling خواهیم پرداخت.

      QR:  جلسه ۳۶ : فیلترهای اجرایی در ASP.NET MVC
      به اشتراک بگذارید