Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

एक निर्भरता सी # Asp.net कोर के रूप में जोड़े गए रजिस्टर सेवा के लिए सेवा जीवनकाल कैसे निर्दिष्ट करें?

बिल्ट-इन 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. सी # एएसपी.नेट वेबएपीआई में स्वीकृति शीर्षलेख के साथ संस्करण कैसे करें?

    एक्सेप्ट हेडर सर्वर को बताता है कि ब्राउज़र किस फ़ाइल प्रारूप में डेटा चाहता है। इन फ़ाइल स्वरूपों को आमतौर पर MIME- प्रकार कहा जाता है। MIME का मतलब बहुउद्देशीय इंटरनेट मेल एक्सटेंशन है। संस्करण नीचे दिए गए जैसे शीर्षलेखों में भेजा जा सकता है। Version=1 StudentsV1Controller Version=2 StudentsV2Con

  1. हम C# ASP.NET WebAPI में क्रिया विधि के लिए उपनाम नाम कैसे निर्दिष्ट कर सकते हैं?

    नियंत्रक में सार्वजनिक विधि को क्रिया विधि कहा जाता है। आइए एक उदाहरण पर विचार करें जहां डेमोकंट्रोलर वर्ग एपीकंट्रोलर से लिया गया है और इसमें कई क्रिया विधियां शामिल हैं जिनके नाम HTTP क्रियाओं जैसे गेट, पोस्ट, पुटैंड डिलीट से मेल खाते हैं। उदाहरण public class DemoController : ApiController{  

  1. C# ASP.NET WebAPI में CORS समस्या को कैसे हल करें?

    क्रॉस-ओरिजिनल रिसोर्स शेयरिंग (सीओआरएस) एक ऐसा तंत्र है जो ब्राउज़र को एक मूल पर चलने वाले वेब एप्लिकेशन को एक अलग मूल से चयनित संसाधनों तक पहुंच देने के लिए अतिरिक्त HTTP शीर्षलेखों का उपयोग करता है। एक वेब एप्लिकेशन एक क्रॉस-ओरिजिनल HTTP अनुरोध को तब निष्पादित करता है जब वह ऐसे संसाधन का अनुरोध कर