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

C# ASP.NET Core পাইপলাইনে মিডলওয়্যার যোগ করার সময় Map এক্সটেনশনের ব্যবহার

মিডলওয়্যার সফ্টওয়্যার কম্পোনেন্ট যা একটি অ্যাপ্লিকেশন পাইপলাইনে অ্যাসেম্বল করা হয় রিকোয়েস্ট এবং রেসপন্স হ্যান্ডেল করার জন্য।

প্রতিটি কম্পোনেন্ট বেছে নেয় কি রিকোয়েস্টটি পাইপলাইনে পরবর্তী কম্পোনেন্টে পাস করা হবে, এবং পাইপলাইনে পরবর্তী কম্পোনেন্ট আহ্বান করার আগে এবং পরে নির্দিষ্ট ক্রিয়া সম্পাদন করতে পারে।

Map এক্সটেনশন পাইপলাইন ব্রাঞ্চ করার জন্য কনভেনশন হিসেবে ব্যবহৃত হয়।

Map এক্সটেনশন মেথড একটি রিকোয়েস্টের পাথের উপর ভিত্তি করে রিকোয়েস্ট ডেলিগেট ম্যাচ করতে ব্যবহৃত হয়। Map সহজেই একটি পাথ এবং একটি ফাংশন গ্রহণ করে যা একটি পৃথক মিডলওয়্যার পাইপলাইন কনফিগার করে।

নিচের উদাহরণে, /maptest বেস পাথের যেকোনো রিকোয়েস্ট HandleMapTest মেথডে কনফিগার করা পাইপলাইন দ্বারা হ্যান্ডেল করা হবে।

উদাহরণ

private static void HandleMapTest(IApplicationBuilder app)
{ 
    app.Run(async context =>
    { 
        await context.Response.WriteAsync("Map Test Successful"); 
    }); 
}

public void ConfigureMapping(IApplicationBuilder app)
{ 
    app.Map("/maptest", HandleMapTest); 
}

পাথ-ভিত্তিক ম্যাপিংয়ের পাশাপাশি, MapWhen মেথড প্রিডিকেট-ভিত্তিক মিডলওয়্যার ব্রাঞ্চিং সাপোর্ট করে, যা খুব ফ্লেক্সিবলভাবে পৃথক পাইপলাইন নির্মাণের অনুমতি দেয়।

Func টাইপের যেকোনো প্রিডিকেট ব্যবহার করে রিকোয়েস্টকে পাইপলাইনের একটি নতুন ব্রাঞ্চে ম্যাপ করা যায়।

private static void HandleBranch(IApplicationBuilder app)
{ 
    app.Run(async context =>
    { 
        await context.Response.WriteAsync("Branch used."); 
    }); 
}

public void ConfigureMapWhen(IApplicationBuilder app)
{ 
    app.MapWhen(context => 
    { 
        return context.Request.Query.ContainsKey("branch"); 
    }, HandleBranch); 
    
    app.Run(async context =>
    { 
        await context.Response.WriteAsync("Hello from " + _environment); 
    }); 
}

Maps নেস্টেডও হতে পারে:

app.Map("/level1", level1App => 
{ 
    level1App.Map("/level2a", level2AApp => 
    { 
        // "/level1/level2a" 
        //... 
    }); 
    level1App.Map("/level2b", level2BApp => 
    { 
        // "/level1/level2b" 
        //... 
    }); 
});
  1. C# ASP.NET WebAPI-এ Authorize অ্যাট্রিবিউটের ব্যবহার

  2. C# ASP.NET MVC-এ ChildActionOnly অ্যাট্রিবিউটের ব্যবহার

  3. C# ASP.NET MVC-এ NonActionAttribute-এর তাৎপর্য

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