কম্পিউটার

একটি নির্ভরতা C# Asp.net কোর হিসাবে যোগ করা নিবন্ধন পরিষেবার জন্য পরিষেবা জীবনকাল কীভাবে নির্দিষ্ট করবেন?


অন্তর্নির্মিত IoC কন্টেইনার একটি নিবন্ধিত পরিষেবার প্রকারের জীবনকাল পরিচালনা করে। নির্দিষ্ট জীবনকালের উপর ভিত্তি করে এটি স্বয়ংক্রিয়ভাবে একটি পরিষেবার উদাহরণ নিষ্পত্তি করে৷

অন্তর্নির্মিত IoC কন্টেইনার তিন ধরনের জীবনকাল সমর্থন করে −

সিঙ্গলটন − IoC কন্টেইনার অ্যাপ্লিকেশনটির সারাজীবন জুড়ে একটি পরিষেবার একক দৃষ্টান্ত তৈরি এবং ভাগ করবে৷

ক্ষণস্থায়ী − IoC কন্টেইনার প্রতিবার আপনি যখন এটি চাইবেন নির্দিষ্ট পরিষেবার প্রকারের একটি নতুন উদাহরণ তৈরি করবে৷

স্কোপড − IoC কন্টেইনার প্রতি অনুরোধে একবার নির্দিষ্ট পরিষেবার প্রকারের একটি উদাহরণ তৈরি করবে এবং একটি একক অনুরোধে শেয়ার করা হবে৷

উদাহরণ

public interface ILog{
   void info(string str);
}
class MyConsoleLogger : ILog{
   public void info(string str){
      Console.WriteLine(str);
   }
}
public class Startup{
   public void ConfigureServices(IServiceCollection services){
      services.Add(new ServiceDescriptor(typeof(ILog), new
      MyConsoleLogger())); // singleton
      services.Add(new ServiceDescriptor(typeof(ILog),
      typeof(MyConsoleLogger), ServiceLifetime.Transient)); // Transient
      services.Add(new ServiceDescriptor(typeof(ILog),
      typeof(MyConsoleLogger), ServiceLifetime.Scoped)); // Scoped
   }
}

নিম্নলিখিত উদাহরণটি এক্সটেনশন পদ্ধতি ব্যবহার করে প্রকার (পরিষেবা) নিবন্ধন করার উপায়গুলি দেখায়৷

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

  1. C# ASP.NET WebAPI তে কাস্টম মিডিয়া টাইপের সাথে সংস্করণ কীভাবে করবেন?

  2. C# ASP.NET WebAPI-তে স্বীকার শিরোনাম সহ সংস্করণ কীভাবে করবেন?

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

  4. কিভাবে C# ASP.NET WebAPI এ CORS সমস্যা সমাধান করবেন?