ASP.NET Core چیست؟
فریمورک متنباز، Cross-Platform و High Performance مایکروسافت برای ساخت Web API و سرویسهای تحت وب.
چرا مهم است؟
امروز عملاً استاندارد ساخت Backend در اکوسیستم .NET است؛ سریع، Cross-Platform و برای Microservice و Cloud طراحی شده.
ASP.NET Core در یک نگاه
فریمورکی برای توسعه Web API با ویژگیهای:
Cross-Platform (Windows, Linux, macOS) · Open Source · Performance بالا · Built-in Dependency Injection · Middleware Pipeline · Configuration و Logging داخلی · مناسب برای REST API، MVC، Razor Pages، SignalR و gRPC · سازگاری کامل با Docker
اجزای اصلی
Program.cs — نقطه شروع برنامه: ثبت سرویسها (DI) و پیکربندی Middlewareها.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
var app = builder.Build();
app.MapControllers();
app.Run();
Middleware — عبور مرکزی هر درخواست HTTP از چند Middleware؛ ترتیب ثبت آنها بسیار مهم است.
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
Dependency Injection — ثبت سرویس با builder.Services.AddScoped<IUserService, UserService>(); و مصرف آن از طریق سازنده کلاس.
Configuration — خواندن تنظیمات از appsettings.json، Environment Variables، Secret Manager یا Azure Key Vault.
Routing — با Attribute Routing: [Route("api/users")] یا [HttpGet("{id}")]
Model Binding & Validation — تبدیل خودکار Request به Object، و اعتبارسنجی با Data Annotation ([Required]).
Authentication & Authorization — [Authorize] برای احراز هویت، [Authorize(Roles = "Admin")] برای دسترسی بر اساس Role.
Minimal API — روش سادهتر برای ساخت API: app.MapGet("/hello", () => "Hello");
مزایا
سرعت بالا · معماری ماژولار · تستپذیری بالا (بهخاطر DI) · مناسب برای Microservices · استقرار آسان روی Docker و Cloud
نکته کلیدی: ASP.NET Core بهخوبی از Dependency Injection پشتیبانی میکند، ترتیب ثبت Middlewareها روی رفتار برنامه اثر مستقیم دارد، و Minimal API برای سرویسهای ساده و Microserviceها گزینه مناسبی است.
خلاصه
- ASP.NET Core فریمورک Cross-Platform و متنباز مایکروسافت برای Web API است.
- Middleware Pipeline، Dependency Injection و Configuration از اجزای اصلی آن هستند.
- برای سرویسهای ساده یا Microservice میتوان از Minimal API استفاده کرد.
