অ্যাকশন ফিল্টারগুলি অ্যাকশন পদ্ধতি কার্যকর করার আগে বা পরে অতিরিক্ত যুক্তি যোগ করতে ব্যবহার করা হয়৷ OnActionExecuting এবং OnActionExecuted পদ্ধতিগুলি আমাদের লজিক যোগ করার আগে এবং একটি অ্যাকশন পদ্ধতি কার্যকর করার পরে ব্যবহার করা হয়৷
আসুন আমরা একটি LogAttribute তৈরি করি যা ActionFilterAttribute প্রয়োগ করে যা অ্যাকশন পদ্ধতি সম্পাদনের আগে এবং পরে লগসাম তথ্য দেয়।
LogAttribute −
উদাহরণ
using System; using System.Diagnostics; using System.Web.Http.Controllers; using System.Web.Http.Filters; namespace DemoWebApplication.Controllers{ public class LogAttribute : ActionFilterAttribute { public override void OnActionExecuting(HttpActionContext actionContext){ Debug.WriteLine(string.Format("Action Method {0} executing at {1}", actionContext.ActionDescriptor.ActionName, DateTime.Now.ToShortDateString()), "Web API Logs"); } public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext){ Debug.WriteLine(string.Format("Action Method {0} executed at {1}", actionExecutedContext.ActionContext.ActionDescriptor.ActionName, DateTime.Now.ToShortDateString()), "Web API Logs"); } } }
কন্ট্রোলার অ্যাকশন −
উদাহরণ
using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ [Log] public IHttpActionResult Get(){ //Some logic return Ok(); } } }
যেহেতু আমরা লগ অ্যাট্রিবিউট ব্যবহার করেছি যাতে OnActionExecuting এবংOnActionExecuted পদ্ধতি প্রয়োগ করা আছে, লগ ইনফরমেশনটি ডিবাগ কনসোলে যোগ করা হবে।