কম্পিউটার

আমরা কিভাবে নিয়ামক C# Asp.net কোরে পরিষেবা নির্ভরতা ইনজেক্ট করতে পারি?


ASP.NET কোর বিল্ট-ইন IoC কন্টেইনার ব্যবহার করে কনস্ট্রাক্টর বা মেথডের মাধ্যমে নির্ভরতা ক্লাসের বস্তুগুলিকে ইনজেক্ট করে।

অন্তর্নির্মিত ধারকটি IServiceProvider বাস্তবায়ন দ্বারা প্রতিনিধিত্ব করা হয় যা ডিফল্টরূপে কনস্ট্রাক্টর ইনজেকশন সমর্থন করে। বিল্ট-ইন IoCcontainer দ্বারা পরিচালিত প্রকারগুলি (শ্রেণীগুলি) কে পরিষেবা বলা হয়৷

IoC কন্টেইনার আমাদের অ্যাপ্লিকেশন পরিষেবাগুলিকে স্বয়ংক্রিয়ভাবে ইনজেক্ট করতে দেওয়ার জন্য, আমাদের প্রথমে তাদের IoC কন্টেইনারে নিবন্ধন করতে হবে৷

উদাহরণ

public interface ILog{
   void info(string str);
}
class MyConsoleLogger : ILog{
   public void info(string str){
      Console.WriteLine(str);
   }
}

ASP.NET কোর আমাদেরকে স্টার্টআপ ক্লাসের কনফিগার সার্ভিসেস পদ্ধতিতে IoC কন্টেইনারের সাথে আমাদের অ্যাপ্লিকেশন পরিষেবাগুলি নিবন্ধন করতে দেয়৷ ConfigureServices পদ্ধতিতে IServiceCollection প্রকারের একটি প্যারামিটার অন্তর্ভুক্ত থাকে যা অ্যাপ্লিকেশন পরিষেবাগুলি নিবন্ধন করতে ব্যবহৃত হয়

নীচে দেখানো হিসাবে ConfigureServices() পদ্ধতিতে IoC কন্টেইনারের সাথে ILlog নিবন্ধন করুন৷

public class Startup{
   public void ConfigureServices(IServiceCollection services){
      services.AddSingleton<ILog, MyConsoleLogger>();
   }
}

IServiceCollection উদাহরণের Add() পদ্ধতি একটি IoCcontainer দিয়ে একটি পরিষেবা নিবন্ধন করতে ব্যবহৃত হয়

আমরা পরিষেবার ধরন হিসাবে ILlog এবং MyConsoleLogger-কে তার উদাহরণ হিসাবে নির্দিষ্ট করেছিএটি ILlog পরিষেবাটিকে সিঙ্গেলটন হিসাবে নিবন্ধন করবেএখন, একটি IoC কন্টেইনার MyConsoleLogger ক্লাসের একটি সিঙ্গেলটন অবজেক্ট তৈরি করবে এবং এটিকে ক্লাসের কনস্ট্রাক্টরে ইনজেক্ট করবে যেখানেই আমরা অ্যাপ্লিকেশন জুড়ে ILog কে কনস্ট্রাক্টর বা মেথড প্যারামিটার হিসাবে অন্তর্ভুক্ত করি। .


  1. কিভাবে আমরা C# ASP.NET WebAPI এ লগিং উদ্দেশ্যে একটি LOG ফিল্টার তৈরি করতে পারি?

  2. C# ASP.NET WebAPI-তে Querystring প্যারামিটারের সাথে সংস্করণ কিভাবে করবেন?

  3. কিভাবে আমরা C# ASP.NET WebAPI তে অ্যাকশন পদ্ধতির জন্য উপনামের নাম নির্ধারণ করতে পারি?

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