ASP.Net Core এ Routing কনফিগার করা

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) রাউটিং এবং Middleware (Routing and Middleware) |
228
228

Routing হল একটি প্রক্রিয়া যার মাধ্যমে ASP.Net Core অ্যাপ্লিকেশন ইনকামিং HTTP রিকোয়েস্টকে নির্দিষ্ট কন্ট্রোলার এবং একশন মেথডের সাথে ম্যাপ করে। রাউটিং কনফিগারেশন সঠিকভাবে না করলে অ্যাপ্লিকেশনটি সঠিকভাবে রিকোয়েস্ট প্রক্রেস করতে পারবে না। ASP.Net Core এ রাউটিং কনফিগার করা বেশ সহজ, এবং আপনি এটি Startup.cs ফাইলে করতে পারেন।


Routing কনফিগারেশনের ধাপ

  1. Route Configuration

    ASP.Net Core অ্যাপ্লিকেশনে রাউটিং কনফিগার করার জন্য সাধারণত Configure মেথডে UseRouting এবং UseEndpoints মেথড ব্যবহার করা হয়।

    public class Startup
    {
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            // রাউটিং কনফিগার করা
            app.UseRouting();  // রাউটিং সিস্টেম চালু করবে
    
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
    

    উপরের কোডে, MapControllerRoute মেথড দিয়ে রাউটিং প্যাটার্নটি কনফিগার করা হয়েছে। এখানে {controller=Home} মানে HomeController ডিফল্ট কন্ট্রোলার হবে, {action=Index} মানে Index অ্যাকশন মেথড ডিফল্ট হবে, এবং {id?} হলো একটি অপশনাল প্যারামিটার।


Route Pattern

ASP.Net Core এ রাউটিং প্যাটার্ন সাধারণত URL প্যাটার্নের মাধ্যমে নির্ধারণ করা হয়। রাউটিং প্যাটার্নের জন্য কিছু সাধারণ টেমপ্লেট নীচে দেওয়া হল:

  • {controller}: URL-এ কন্ট্রোলারের নাম।
  • {action}: URL-এ একশন মেথডের নাম।
  • {id?}: একটি অপশনাল প্যারামিটার (যদি প্রযোজ্য হয়)।

উদাহরণস্বরূপ, যদি আমরা MapControllerRoute ব্যবহার করি:

endpoints.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

এই রাউটিং প্যাটার্নটি নির্দেশ করে যে, যদি URL এর মধ্যে কোনো কন্ট্রোলার বা অ্যাকশন নাম উল্লেখ না থাকে, তাহলে ডিফল্টভাবে HomeController এর Index অ্যাকশনটি কল হবে। যদি id প্যারামিটার দেওয়া থাকে, তবে সেটি ঐ অ্যাকশনে পাস হবে।


Attribute Routing

ASP.Net Core এ আপনি Attribute Routing ব্যবহার করে URL এর সাথে কন্ট্রোলার এবং অ্যাকশন মেথড নির্দিষ্ট করতে পারেন। এর মাধ্যমে আপনি প্রতিটি কন্ট্রোলার এবং একশন মেথডে রাউটিং প্যাটার্ন নির্ধারণ করতে পারেন।

Attribute Routing উদাহরণ:

[Route("home")]
public class HomeController : Controller
{
    [Route("")]
    public IActionResult Index()
    {
        return View();
    }

    [Route("about")]
    public IActionResult About()
    {
        return View();
    }
}

এখানে HomeController এর Index অ্যাকশনটি /home পাথের মাধ্যমে এক্সেস হবে এবং About অ্যাকশনটি /home/about পাথের মাধ্যমে এক্সেস হবে।


Route Constraints

ASP.Net Core রাউটিং প্যাটার্নে কনস্ট্রেইন্টস ব্যবহার করে URL প্যারামিটার গুলোর বৈধতা যাচাই করা সম্ভব। যেমন, আপনি id প্যারামিটারের জন্য নির্দিষ্ট করতে পারেন যে তা একটি সংখ্যা হতে হবে।

Route Constraints উদাহরণ:

[Route("product/{id:int}")]
public IActionResult ProductDetails(int id)
{
    return View();
}

এখানে {id:int} কনস্ট্রেইন্টটি নির্দেশ করে যে id প্যারামিটারটি শুধুমাত্র পূর্ণসংখ্যা হতে হবে। যদি প্যারামিটারটি অন্য ধরনের হয়, তবে রিকোয়েস্টটি ব্যর্থ হবে এবং 404 Not Found ত্রুটি দেখাবে।


Multiple Routes

একই কন্ট্রোলার বা একশন মেথডের জন্য একাধিক রাউটিং প্যাটার্ন নির্ধারণ করা যেতে পারে।

Multiple Routes উদাহরণ:

[Route("product")]
[Route("item")]
public IActionResult ProductDetails()
{
    return View();
}

এখানে ProductDetails একশনটি /product এবং /item উভয় রাউটে এক্সেস করা যাবে।


সারাংশ

ASP.Net Core এ রাউটিং কনফিগার করা একটি সহজ প্রক্রিয়া। আপনি সাধারণভাবে Configure মেথডে UseRouting এবং UseEndpoints ব্যবহার করে রাউটিং প্যাটার্ন সেট করতে পারেন। এছাড়া Attribute Routing, Route Constraints, এবং Multiple Routes এর মতো ফিচারগুলো ব্যবহার করে আরো উন্নত রাউটিং কনফিগারেশন করা সম্ভব। এই কনফিগারেশনগুলো আপনার অ্যাপ্লিকেশনকে আরও ইউজার-ফ্রেন্ডলি এবং সুগম করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion