C# (.NET) अनुप्रयोगों का कॉन्फ़िगरेशन: पूर्ण मार्गदर्शिका
C# (.NET) में आधुनिक अनुप्रयोगों के विकास में कॉन्फ़िगरेशन प्रबंधन एक प्रमुख कार्य है। Microsoft.Extensions.Configuration लाइब्रेरी विभिन्न स्रोतों से सेटिंग्स पढ़ने के लिए एक शक्तिशाली और लचीला तंत्र प्रदान करती है: JSON फ़ाइलें, पर्यावरण चर, कमांड लाइन तर्क और रहस्य। इस लेख में, हम कोड उदाहरणों और सर्वोत्तम प्रथाओं का उपयोग करके .NET अनुप्रयोगों में कॉन्फ़िगरेशन सेट करने के तरीके पर विस्तार से चर्चा करेंगे।
लाइब्रेरी की मुख्य क्षमताएँ
- डेटा स्रोतों की विविधता: JSON, XML, INI, पर्यावरण चर, कमांड लाइन तर्क, Azure Key Vault और अन्य।
- पदानुक्रमित संरचना: कोलन वाली कुंजियों के माध्यम से नेस्टेड अनुभागों का समर्थन (
Section:Subsection:Key)। - कक्षाओं से बंधन (Options Pattern): कॉन्फ़िगरेशन से POCO ऑब्जेक्ट्स का स्वचालित भराव।
- लचीला ओवरराइड: अंतिम जोड़े गए स्रोत को प्राथमिकता मिलती है।
- रहस्यों का समर्थन: विकास के लिए —
Secret Manager, उत्पादन के लिए — संरक्षित भंडार।
स्थापना और कनेक्शन
.NET अनुप्रयोग (कंसोल, ASP.NET Core, MAUI आदि) में कॉन्फ़िगरेशन के साथ काम करने के लिए NuGet पैकेज स्थापित करना आवश्यक है:
dotnet add package Microsoft.Extensions.Configurationdotnet add package Microsoft.Extensions.Configuration.Jsondotnet add package Microsoft.Extensions.Configuration.EnvironmentVariablesdotnet add package Microsoft.Extensions.Configuration.CommandLineASP.NET Core में ये पैकेज डिफ़ॉल्ट रूप से शामिल हैं।
मूल उदाहरण: appsettings.json से पढ़ना
एक appsettings.json फ़ाइल बनाएँ:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning" } }, "ConnectionStrings": { "DefaultConnection": "Server=localhost;Database=MyDb;User Id=sa;Password=MyPass;" }, "AppSettings": { "AppName": "MyApp", "Version": "1.0.0", "MaxRetries": 3 }}कंसोल अनुप्रयोग में कॉन्फ़िगरेशन पढ़ने के लिए कोड:
using Microsoft.Extensions.Configuration;
class Program{ static void Main(string[] args) { // कॉन्फ़िगरेशन बनाएँ var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables() .AddCommandLine(args) .Build();
// सरल मान पढ़ना string appName = configuration["AppSettings:AppName"]; Console.WriteLine($"App Name: {appName}");
// नेस्टेड अनुभाग पढ़ना string connString = configuration.GetConnectionString("DefaultConnection"); Console.WriteLine($"Connection String: {connString}");
// पूर्णांक पढ़ना int maxRetries = int.Parse(configuration["AppSettings:MaxRetries"]); Console.WriteLine($"Max Retries: {maxRetries}");
// पूरा अनुभाग प्राप्त करना var appSettingsSection = configuration.GetSection("AppSettings"); Console.WriteLine($"Version: {appSettingsSection["Version"]}"); }}Options पैटर्न (कक्षाओं से बंधन)
सर्वोत्तम अभ्यास IOptions<T> के माध्यम से सख्ती से टाइप किए गए कॉन्फ़िगरेशन का उपयोग करना है। इसके लिए:
- कॉन्फ़िगरेशन अनुभाग के लिए एक क्लास बनाएँ:
public class AppSettings{ public string AppName { get; set; } public string Version { get; set; } public int MaxRetries { get; set; }}- DI कंटेनर में कॉन्फ़िगरेशन पंजीकृत करें (ASP.NET Core के लिए या
Micros
पुस्तकालय में भी
C# में इमेज प्रोसेसिंग: ImageSharp लाइब्रेरी से resize, crop
gRPC Swift (iOS/macOS): लाइब्रेरी, सेटअप और उदाहरण
Kotlin में डेटा सत्यापन: लाइब्रेरीज़ और दृष्टिकोण (Kotlin, Java)
TypeScript अनुप्रयोगों की निगरानी: लाइब्रेरी, उपकरण और कॉन्फ़िगरेशन
PHP में तिथियों के साथ काम करना: पुस्तकालयों और उपकरणों का अवलोकन