Environment-based Configuration হলো এমন একটি কনফিগারেশন ব্যবস্থা যেখানে অ্যাপ্লিকেশনটি তার পরিবেশ অনুযায়ী কনফিগারেশন পরিবর্তন করতে পারে। ASP.NET Core-এ, আপনি বিভিন্ন পরিবেশে (যেমন Development, Staging, Production) আলাদা আলাদা কনফিগারেশন সেটিংস ব্যবহার করতে পারেন। এই বৈশিষ্ট্যটি বিশেষভাবে দরকারি যখন একই কোডবেস বিভিন্ন পরিবেশে চলবে এবং প্রতিটি পরিবেশের জন্য আলাদা কনফিগারেশন প্রয়োজন হয়।
ASP.NET Core-এ পরিবেশ ভিত্তিক কনফিগারেশন ব্যবস্থাপনার জন্য বিভিন্ন ফাইল, যেমন appsettings.json
, appsettings.Development.json
, appsettings.Production.json
ব্যবহার করা হয়। পরিবেশ অনুযায়ী কনফিগারেশন ফাইলের বিষয়বস্তু ভিন্ন হতে পারে, যাতে আপনি সহজেই ডেভেলপমেন্ট, স্টেজিং বা প্রোডাকশনের জন্য আলাদা সেটিংস নির্ধারণ করতে পারেন।
ASP.NET Core অ্যাপ্লিকেশনটি কোন পরিবেশে চলছে তা পরিবেশ ভেরিয়েবল বা কনফিগারেশন সেটিংসের মাধ্যমে জানা যায়। সাধারণত, পরিবেশ ভেরিয়েবল ASPNETCORE_ENVIRONMENT
এর মাধ্যমে নির্ধারিত হয়।
এটি সাধারণত তিনটি মূল মান গ্রহণ করে:
আপনি এই ভেরিয়েবলটি কনফিগার করতে পারেন অ্যাপ্লিকেশন শুরু হওয়ার সময়, বা ডেভেলপমেন্ট পরিবেশে Visual Studio বা কমান্ড লাইন ব্যবহার করে সেটিংস কনফিগার করতে পারেন।
launchSettings.json
ফাইলে পরিবেশ সেট করা{
"profiles": {
"IIS Express": {
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"ProjectName": {
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
}
}
}
এখানে, IIS Express
প্রোফাইলে Development
পরিবেশ এবং ProjectName
প্রোফাইলে Production
পরিবেশ নির্ধারণ করা হয়েছে।
ASP.NET Core-এ সাধারণত appsettings.json
ফাইলটি কনফিগারেশনের জন্য ব্যবহার হয়। তবে আপনি পরিবেশ অনুযায়ী আলাদা কনফিগারেশন ফাইলও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, appsettings.Development.json
, appsettings.Production.json
ইত্যাদি ফাইল ব্যবহার করা যেতে পারে, যেখানে প্রতিটি পরিবেশের জন্য আলাদা কনফিগারেশন থাকবে।
appsettings.json
{
"AppSettings": {
"ApplicationName": "My Application",
"Version": "1.0.0"
}
}
appsettings.Development.json
{
"AppSettings": {
"ApplicationName": "My Application (Development)",
"Version": "1.0.0-dev"
}
}
appsettings.Production.json
{
"AppSettings": {
"ApplicationName": "My Application (Production)",
"Version": "1.0.0"
}
}
এখন, অ্যাপ্লিকেশন শুরু হওয়ার সময়, সিস্টেম ASPNETCORE_ENVIRONMENT
ভেরিয়েবল অনুসারে উপযুক্ত কনফিগারেশন ফাইল লোড করবে।
ASP.NET Core-এ IConfiguration ইন্টারফেস ব্যবহার করে কনফিগারেশন অ্যাক্সেস করা হয়। এটি সমস্ত কনফিগারেশন ফাইল (যেমন appsettings.json
, appsettings.Environment.json
, ইত্যাদি) একত্রিত করে একটি সহজ ও কেন্দ্রীভূত অ্যাক্সেস পদ্ধতি প্রদান করে।
public class Startup
{
private readonly IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
var appSettings = _configuration.GetSection("AppSettings").Get<AppSettings>();
services.AddSingleton(appSettings);
}
}
এখানে, IConfiguration
ব্যবহারের মাধ্যমে appsettings.json
থেকে কনফিগারেশন ডেটা পাওয়া হচ্ছে।
ASP.NET Core সিস্টেম স্বয়ংক্রিয়ভাবে পরিবেশ অনুযায়ী সঠিক কনফিগারেশন ফাইলটি লোড করে, তবে আপনি Environment-based Configuration এর সুবিধা গ্রহণ করতে চাইলে কনফিগারেশন ফাইলগুলির নামকরণ এবং পরিবেশ ভেরিয়েবল ব্যবহার নিশ্চিত করতে হবে।
Environment-based Configuration এর মাধ্যমে ASP.NET Core অ্যাপ্লিকেশনগুলো সহজেই বিভিন্ন পরিবেশের জন্য আলাদা কনফিগারেশন সেট করতে পারে। এটি বিশেষভাবে ডেভেলপমেন্ট, স্টেজিং এবং প্রোডাকশন পরিবেশের মধ্যে আলাদা আলাদা কনফিগারেশন প্রযোজ্য করতে সহায়তা করে। IConfiguration
ইন্টারফেস এবং পরিবেশ ভেরিয়েবল ব্যবহার করে অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে পরিবেশ অনুযায়ী সঠিক কনফিগারেশন লোড করে, যা ডেভেলপমেন্ট থেকে প্রোডাকশনে সুগম অ্যাপ্লিকেশন ম্যানেজমেন্ট নিশ্চিত করে।
common.read_more