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

Mohammad Zubair 0
dotnet core

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:

  1. অ্যাপ তৈরি হয় →

  2. সার্ভিস রেজিস্টার হয় →

  3. Middleware গুলো সেট হয় →

  4. Routing/Authorization হয় →

  5. Default Controller Route ম্যাপ হয় →

  6. অ্যাপ রান হয়।


Mohammad Zubair

I'm Mohammad Zubair, a passionate software engineer working in the dynamic world of IT. Currently, I'm proud to be a part of HawarIT, a thriving Dutch-Bangladeshi joint venture company, where I contribute my expertise and enthusiasm to the field of software engineering.

Leave a Reply

Your email address will not be published. Required fields are marked *