কম্পিউটার টিউটোরিয়াল

C# ASP.NET MVC-এ ফিল্টার প্রয়োগ করার তিনটি লেভেল

একটি ASP.NET MVC অ্যাপ্লিকেশনে ফিল্টার তিনটি লেভেলে প্রয়োগ করা যায়।

  • অ্যাকশন মেথড লেভেল
  • কন্ট্রোলার লেভেল
  • গ্লোবাল লেভেল

অ্যাকশন মেথড লেভেল

অ্যাকশন মেথড লেভেলে প্রয়োগ করা ফিল্টার শুধু সেটি নির্দিষ্ট অ্যাকশন মেথডের জন্য কাজ করে।

using System.Web.Mvc; 

namespace DemoMvcApplication.Controllers
{ 
    public class HomeController : Controller
    { 
        [Authorize] // Action Method Level 
        public string Index()
        { 
            return "Index Invoked"; 
        } 
    } 
}

কন্ট্রোলার লেভেল

কন্ট্রোলার লেভেল ফিল্টার সকল অ্যাকশন মেথডে প্রয়োগ হয়। নিচের ফিল্টার HomeController-এর সকল অ্যাকশন মেথডে প্রযোজ্য, কিন্তু অন্যান্য কন্ট্রোলারে নয়।

using System.Web.Mvc; 

namespace DemoMvcApplication.Controllers
{ 
    [Authorize] // Controller Level 
    public class HomeController : Controller
    { 
        public string Index1()
        { 
            return "Index1 Invoked"; 
        } 
        
        public string Index2()
        { 
            return "Index2 Invoked"; 
        } 
    } 
}

গ্লোবাল লেভেল

গ্লোবাল লেভেল ফিল্টার global.asax.cs ফাইলের Application_Start ইভেন্টে ডিফল্ট FilterConfig.RegisterGlobalFilters() মেথড ব্যবহার করে প্রদান করা হয়। গ্লোবাল ফিল্টার অ্যাপ্লিকেশনের সকল কন্ট্রোলার এবং অ্যাকশন মেথডে প্রয়োগ হয়।

public class MvcApplication : System.Web.HttpApplication
{ 
    protected void Application_Start()
    { 
        AreaRegistration.RegisterAllAreas(); 
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
        RouteConfig.RegisterRoutes(RouteTable.Routes); 
        BundleConfig.RegisterBundles(BundleTable.Bundles); 
    } 
} 

public class FilterConfig
{ 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    { 
        filters.Add(new HandleErrorAttribute()); 
        filters.Add(new AuthorizeAttribute()); 
    } 
}
  1. C# ASP.NET MVC-এ NonActionAttribute-এর তাৎপর্য

  2. C# ASP.NET WebAPI-এ বিল্ট-ইন মেসেজ হ্যান্ডলারগুলো কী?

  3. C# ASP.NET WebAPI-তে ফিল্টারের বিভিন্ন প্রকার কী কী?

  4. C# ASP.NET WebAPI-তে কন্ট্রোলার একশনের বিভিন্ন রিটার্ন টাইপ কী কী?