عند العمل على تطبيقات .NET Core بنسخة 1.0.0، يمكنك تكوين إعدادات التطبيق بناءً على البيئة باستخدام ملفات الإعداد المناسبة، مثل appSettings.dev.json
و appSettings.test.json
. ومن أجل تحقيق ذلك في تطبيق الكونسول، يمكنك اتباع بعض الخطوات البسيطة.
أولاً، يمكنك استخدام مكتبة Microsoft.Extensions.Configuration
لتحميل وتكوين ملفات التهيئة بناءً على البيئة. يمكنك ببساطة إضافة حزمة NuGet Microsoft.Extensions.Configuration.Json
لاستخدامها في تحميل الملفات JSON.
بعد ذلك، يمكنك إنشاء كائن IConfiguration
وتمريره إلى تطبيقك لاستخدام الإعدادات. هذا يمكن أن يتم في نقطة الدخول الرئيسية لتطبيق الكونسول.
الآن، لجعل التطبيق يستخدم ملفات التكوين المناسبة وفقاً للبيئة، يمكنك استخدام البيئة المعروفة في .NET Core باستخدام الفاريابل EnvironmentName
. يمكنك تحديد البيئة المطلوبة عند تشغيل التطبيق باستخدام متغير البيئة في نظام التشغيل.
فيما يلي مثال لكيفية تحقيق ذلك:
csharpusing Microsoft.Extensions.Configuration;
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// Load configuration
var environmentName = Environment.GetEnvironmentVariable("EnvironmentName") ?? "dev";
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile($"appSettings.{environmentName}.json", optional: true, reloadOnChange: true)
.Build();
// Use configuration
var settingValue = configuration["SettingKey"];
// Your application logic goes here
}
}
في هذا المثال، يتم استخدام Environment.GetEnvironmentVariable("EnvironmentName")
للحصول على اسم البيئة المطلوبة. وإذا لم يتم تحديد قيمة محددة، فإن القيمة الافتراضية هي “dev”. ثم يتم استخدام هذا الاسم لتحميل ملف التكوين المناسب باستخدام AddJsonFile($"appSettings.{environmentName}.json")
.
بهذه الطريقة، يمكنك تكوين تطبيقك لاستخدام إعدادات مختلفة بناءً على البيئة التي يتم تشغيلها فيها، بنفس الطريقة التي تعمل بها تطبيقات ASP.NET Core.
المزيد من المعلومات
بالطبع، دعنا نواصل تحسين المقال وإضافة بعض التفاصيل والشروحات لجعله أكثر اكتمالًا وفائدة:
csharpusing Microsoft.Extensions.Configuration;
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// Load configuration
var environmentName = Environment.GetEnvironmentVariable("EnvironmentName") ?? "dev";
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile($"appSettings.{environmentName}.json", optional: true, reloadOnChange: true)
.Build();
// Use configuration
var settingValue = configuration["SettingKey"];
// Example usage
Console.WriteLine($"Value of SettingKey is: {settingValue}");
// Your application logic goes here
}
}
في هذا المثال المحسّن، تم إضافة تفاصيل إضافية لتوضيح استخدام التكوين في تطبيق الكونسول. بعد تحميل التكوين، يمكنك استخدام القيم المحملة في التكوين كما تحتاج. على سبيل المثال، قمنا بطباعة قيمة الإعداد “SettingKey” إلى الإخراج لإظهار كيفية الوصول إليها.
كما يمكنك استخدام الإعدادات لتكوين أي جزء من تطبيقك، سواء كان ذلك إعدادات الاتصال بقواعد البيانات أو الإعدادات المخصصة للتطبيق. يتيح لك هذا النهج تطبيق إعدادات مختلفة بناءً على البيئة دون الحاجة إلى تعديل الشيفرة المصدرية.
ومن المهم أيضًا الإشارة إلى أنه يمكنك تعيين قيمة متغير البيئة EnvironmentName
قبل تشغيل التطبيق. على سبيل المثال، يمكنك تعيينه في البيئة قبل تشغيل البرنامج كما يلي في نظام التشغيل Windows:
arduinoset EnvironmentName=dev
أو في نظام Linux/macOS:
arduinoexport EnvironmentName=dev
باستخدام هذه الأساليب، يمكنك تكوين تطبيق .NET Core الخاص بك بسهولة وفعالية لاستخدام إعدادات مختلفة بناءً على البيئة، وهو أمر حيوي لتطوير واختبار التطبيقات بفعالية.