Proje ayağa kalkarken önce Main metodu çalışır. Main metodu da Kestrel Web Server'ı ayağa kaldırır.
Startup class ı çalıştırılır.
Startup class ını ise, bir konfigürasyon olarak düşünmek gerekir. Server ile ilgili ayarlamalar ve düzenlemeler buradan yapılır.
Projede neye ihtiyaç duyuluyorsa, onun ayarlarının yapıldığı metot. MVC, API, Cors,.. gibi DependencyInjection ile ilgili.
Projede nasıl response döneceğimize bağlı olarak burada düzenleme yapılır.
Configure metoduna bu kod yazılır.
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
Controller tanımlanması için, class'ın ControllerBase class ından kalıtım alması gerekir.
Eğer Controller aracılığıyla servisimizi yöneteceksek, servisimize bunu bildirmemeiz gerekir.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
Eğer servisimizi controller ile yönetiyorsak; roting işlemini de ona göre yapmalıyız.
Configure metoduna bu kod eklenmelidir:
app.UseEndpoints(endpoints =>
{
//Artık route lar controller lar aracılığıyla oluşacak. Bu şekilde bunu söylemiş oluyoruz.
endpoints.MapControllers();
});
Kaynak: Kenan Yıldırım'ın derslerinden edindiğim bilgidir.