কম্পিউটার

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


মিডলওয়্যার হল সফ্টওয়্যার উপাদান যা অনুরোধ এবং প্রতিক্রিয়াগুলি পরিচালনা করার জন্য একটি অ্যাপ্লিকেশন পাইপলাইনে একত্রিত হয়৷

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

মানচিত্র এক্সটেনশনগুলি পাইপলাইন শাখা করার জন্য নিয়ম হিসাবে ব্যবহৃত হয়৷

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

নিম্নলিখিত উদাহরণে, /maptest-এর বেস পাথ সহ যেকোনো অনুরোধ হ্যান্ডেলম্যাপটেস্ট পদ্ধতিতে কনফিগার করা পাইপলাইন দ্বারা পরিচালিত হবে।

উদাহরণ

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 পদ্ধতিটি predicate-ভিত্তিক মিডলওয়্যার শাখাকে সমর্থন করে, যা একটি খুব নমনীয় ফ্যাশনে আলাদা পাইপলাইন তৈরি করার অনুমতি দেয়।

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);
   });
}

মানচিত্রও নেস্ট করা যেতে পারে

app.Map("/level1", level1App => {
   level1App.Map("/level2a", level2AApp => {
      // "/level1/level2a"
      //...
   });
   level1App.Map("/level2b", level2BApp => {
      // "/level1/level2b"
      //...
   });
});

  1. C# Asp.Net webAPI-তে Authorize Attribute-এর ব্যবহার কী?

  2. ASP .Net MVC C# এ ChildActionOnly অ্যাট্রিবিউটের ব্যবহার কী?

  3. ASP .Net MVC C#-এ NonActionAttribute-এর তাৎপর্য কী?

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