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

AddSingleton बनाम AddScoped बनाम क्षणिक C# Asp.net कोर जोड़ें क्या है?

ऐसे तीन तरीके हैं जिनसे स्टार्टअप.सीएस में निर्भरताएँ पंजीकृत की जा सकती हैं। यानी AddSingleton, AddScoped और AddTransient।

सिंगलटन जोड़ें

जब हम एक प्रकार को सिंगलटन के रूप में पंजीकृत करते हैं, तो पूरे आवेदन में और प्रत्येक अनुरोध के लिए केवल एक उदाहरण उपलब्ध होता है।

यह एक स्थिर वस्तु के समान है।

उदाहरण पहले अनुरोध के लिए बनाया गया है और यह पूरे आवेदन में और प्रत्येक बाद के अनुरोध के लिए उपलब्ध है।

public void ConfigureServices(IServiceCollection services){
   services.AddSingleton<ILog,Logger>()
}

स्कोप जोड़ें

जब हम किसी प्रकार को स्कोप के रूप में पंजीकृत करते हैं, तो प्रति अनुरोध एक उदाहरण पूरे आवेदन में उपलब्ध होता है। जब कोई नया अनुरोध आता है, तो नया उदाहरण बनाया जाता है। स्कोप जोड़ें निर्दिष्ट करता है कि एक ऑब्जेक्ट प्रति अनुरोध उपलब्ध है।

public void ConfigureServices(IServiceCollection services){
   services.AddScoped<ILog,Logger>()
}

क्षणिक जोड़ें

जब हम एक प्रकार को क्षणिक के रूप में पंजीकृत करते हैं, तो हर बार एक नया उदाहरण बनाया जाता है। Transient प्रत्येक सेवा/नियंत्रक के साथ-साथ प्रत्येक अनुरोध और प्रत्येक उपयोगकर्ता के लिए नया उदाहरण बनाता है।

public void ConfigureServices(IServiceCollection services){
   services.AddTransient<ILog,Logger>()
}


<थेड>
पैरामीटर सिंगलटन जोड़ें स्कोप जोड़ें क्षणिक जोड़ें
उदाहरण समान प्रत्येक अनुरोध/प्रत्येक उपयोगकर्ता। प्रति अनुरोध एक। हमेशा के लिए अलग.
निपटान ऐप शटडाउन अनुरोध की समाप्ति अनुरोध की समाप्ति
में प्रयुक्त जब सिंगलटनकार्यान्वयन की आवश्यकता होती है। ऐप्लिकेशन जिनका प्रति उपयोगकर्ता अलग व्यवहार है। हल्के वजन और स्टेटलेस सेवाएं।

  1. ASP.Net MVC C# में ChildActionOnly विशेषता का उपयोग क्या है?

    चाइल्ड एक्शन केवल चाइल्ड रिक्वेस्ट द्वारा ही एक्सेस किया जा सकता है। यह URL अनुरोधों का जवाब नहीं देगा। यदि कोई प्रयास किया जाता है, तो रनटाइम त्रुटि को यह कहते हुए फेंक दिया जाएगा - चाइल्ड एक्शन केवल चाइल्ड रिक्वेस्ट द्वारा ही एक्सेस किया जा सकता है। एक्शन () और रेंडरएक्शन () एचटीएमएल हेल्पर्स का उ

  1. ASP.Net MVC C# में NonActionAttribute का क्या महत्व है?

    गैर कार्रवाई विशेषता का उपयोग तब किया जाता है जब हम नियंत्रक में सार्वजनिक विधि चाहते हैं लेकिन इसे एक क्रिया विधि के रूप में नहीं मानना ​​​​चाहते हैं। एक क्रिया विधि एक नियंत्रक में एक सार्वजनिक विधि है जिसे यूआरएल का उपयोग करके बुलाया जा सकता है। इसलिए, डिफ़ॉल्ट रूप से, यदि हमारे पास नियंत्रक में

  1. C# ASP.NET WebAPI में विभिन्न प्रकार के फ़िल्टर क्या हैं?

    वेबएपी फ्रेमवर्क अनुरोध प्रसंस्करण के विभिन्न स्तरों पर अतिरिक्त तर्क को इंजेक्ट करने के लिए फिल्टर का उपयोग किया जाता है। फ़िल्टर क्रॉस-कटिंग चिंताओं (लॉगिंग, प्राधिकरण और कैशिंग) के लिए एक रास्ता प्रदान करते हैं। एक घोषणात्मक या प्रोग्रामेटिक तरीके से एक क्रिया विधि या नियंत्रक पर फ़िल्टर लागू किए