DotNet 7 বা ASP.NET Core 7.0 এ Program.cs ফাইল

DotNet 7
বা ASP.NET Core 7.0 এ Program.cs
ফাইল আগের মতো খুব লম্বা না, বরং minimal hosting model ইউজ করা হয়, যা অনেক ছোট ও পরিষ্কার।
এখন আমরা Program.cs
ফাইলটাকে step-by-step / line-by-line বিশ্লেষণ করব বাংলায়।
var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllersWithViews(); var app = builder.Build(); if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}" ); app.Run();
var builder = WebApplication.CreateBuilder(args);
🛠️ কি করে:
এটা ASP.NET Core এর application builder তৈরি করে।
এই লাইনে .NET runtime
অ্যাপ রান করার জন্য সব ইনিশিয়াল সেটআপ করে নেয়—যেমন config, logging, DI container ইত্যাদি।
📝 ব্যাখ্যা:
-
args
হলো command line arguments। -
এটা dependency injection (DI) container তৈরি করে, যেটা সার্ভিসগুলোকে ম্যানেজ করে।
builder.Services.AddControllersWithViews();
🧩 কি করে:
এটা ASP.NET Core MVC সার্ভিসগুলো DI container-এ রেজিস্টার করে।
📝 ব্যাখ্যা:
-
এতে করে
Controller
,View
,Model
ইত্যাদি ব্যবহার করতে পারি। -
এটা Razor View Engine সহ MVC স্ট্যাক ইনিশিয়াল করে।
var app = builder.Build();
🏗️ কি করে:
এটা আগের builder
দিয়ে final WebApplication object তৈরি করে।
📝 ব্যাখ্যা:
-
এই
app
অবজেক্টের মাধ্যমেই আমরা Middleware configure করি। -
এটা রান করার জন্য প্রস্তুত application pipeline তৈরি করে।
if (!app.Environment.IsDevelopment())
🌦️ কি করে:
চেক করে অ্যাপটা development mode-এ চলছে কিনা।
📝 ব্যাখ্যা:
-
যদি Production বা অন্য environment হয়, তাহলে একটা custom error handler সেট করে।
-
app.Environment
হলো runtime environment (development, production, staging, etc.)
app.UseExceptionHandler("/Home/Error");
❌ কি করে:
যদি কোনো unhandled exception ঘটে, ইউজারকে /Home/Error
রুটে রিডাইরেক্ট করে।
app.UseHsts();
🔐 কি করে:
HTTP Strict Transport Security (HSTS) enable করে।
-
এটা ব্রাউজারকে বলে যে সবসময় HTTPS ইউজ করো।
app.UseHttpsRedirection();
🌐 কি করে:
যদি কেউ HTTP দিয়ে request করে, তাকে HTTPS-এ রিডাইরেক্ট করে।
app.UseStaticFiles();
📁 কি করে:
wwwroot ফোল্ডার থেকে স্ট্যাটিক ফাইল (CSS, JS, images) সার্ভ করে।
app.UseRouting();
🗺️ কি করে:
Routing middleware চালু করে, যাতে অ্যাপ ঠিক করতে পারে কোন URL কোন controller/action এর সাথে যাবে।
app.UseAuthorization();
🛡️ কি করে:
Authorization middleware চালায়, যাতে route access করার আগে user এর অনুমতি চেক করে।
app.MapControllerRoute(...)
📌 কি করে:
Default routing define করে।
📝 ব্যাখ্যা:
pattern: "{controller=Home}/{action=Index}/{id?}"
মানে:
-
যদি URL কিছু না দেয়, তাহলে
HomeController
এরIndex
অ্যাকশন চলবে। -
id
optional।
app.Run();
🚀 কি করে:
শেষ পর্যন্ত অ্যাপ রান করে, এবং HTTP request listen করতে শুরু করে।
✅ সংক্ষেপে Flow:
-
অ্যাপ তৈরি হয় →
-
সার্ভিস রেজিস্টার হয় →
-
Middleware গুলো সেট হয় →
-
Routing/Authorization হয় →
-
Default Controller Route ম্যাপ হয় →
-
অ্যাপ রান হয়।