Action Filter ها در MVC
سه شنبه 5 مرداد 1395در این مقاله با مفاهیم فیلتر ها، انواع آن ها و نحوه ی کار هر یک آشنا خواهیم شد. همچنین با شرح مثال ، کارآیی آن ها را مورد بررسی قرار خواهیم داد.
در این مقاله درباره ی فیلتر ها در ASP.NET MVC خواهیم آموخت. بخش های زیر را در این مقاله مورد بررسی قرار خواهیم داد:
فیلتر چیست؟
انواع فیلترها
فیلتر چیست؟
برخی اوقات ما می خواهیم عمل مشخصی را بعد و یا قبل از عملیات خاصی انجام دهیم، و یا برخی اوقات نیاز داریم تا رفتارهای یک Action را قبل و یا بعد از آن Action انجام دهیم. برای انجام این امور یک ویژگی به نام فیلتر ها در اختیار ما قرار می گیرد.
انواع فیلتر ها :
ASP.NET MVC دارای فیلتر های زیر است :
Action Filter
Authorization Filter
Result Filter
Exception Filter
Action Filter :
Action Filter ها برای پیاده سازی منطق هایی که قبل یا بعد از اجرای یک action تولید می شوند، مورد استفاده قرار می گیرد.
Authorization Filter :
برای تصدیق هویت و اعتبار سنجی Action Filter ها مورد استفاده قرار می گیرد.
Result Filter :
Result Filter ها شامل منطقی هستند که از اجرای view result ها به دست می آیند. به عنوان مثال اگر بخواهید یک View را قبل از نمایش در مرورگر تغییر بدهید، به این فیلتر نیاز خواهید داشت.
Exception Filter
Exception Filter ها برای مدیریت خطاهایی استفاده می شوند که به وسیله ی controller action ها و یا controller action result ها ایجاد شده اند. ما همچنین می توانیم از آن ها برای گزارش گیری خطاهای زمان اجرا استفاده کنیم.
بیایید بررسی Action Filter ها در ASP.NET MVC را شروع کنیم:
Action Filter ها می توانند به controller action ها و یا خود controller ها اعمال شوند. به کمک Action Filter ها ما می توانیم روش اجرای یک action و یا controller را تغییر بدهیم.
تکنولوژی MVC ، action filter های زیر را برای کاربرانش فراهم می کند:
Output Cache :
Action Filter ها خروجی action را برای مدت زمان مشخصی cache می کنند. برای مثال در کد بالا ما از واژه کلیدی cache استفاده خواهیم کرد که خروجی را برای مدت زمان 20 ثانیه cache خواهد کرد.
مدیریت خطا:
این ویژگی ، خطاهایی را که به وسیله ی action و یا controller ایجاد شده اند را مدیریت می کند. اگر هر گونه خطای زمان اجرایی اتفاق بیفتد، action را به یک صفحه خطای سفارشی سازی شده هدایت می کند. به عنوان مثال در کد زیر صفات مربوط به مدیریت خطا برای login action method آورده شده اند. هر زمان که خطایی در این متد اتفاق بیفتد، به یک view به نام "error.cshtml" هدایت خواهد شد.
تصدیق هویت:
این فیلتر برای جداسازی کاربرانی که تصدیق هویت شده اند، استفاده می شود، به این ترتیب این کاربران می توانند به منابع دسترسی داشته باشند. در تکه کد زیر برای استفاده از این فیلتر از صفتAuthorize استفاده شده است.
اگر ما تلاش کنیم از این action استفاده کنیم، با خطای زیر مواجه خواهیم شد:
امیدوارم از این مقاله لذت برده باشید.
آموزش asp.net mvc
- ASP.net MVC
- 3k بازدید
- 10 تشکر