.NET Core platformunda ana giriş noktasında kod yürütülmesi.
.NET Core üzerinde Program.cs dosyasında "app.Run();" çalıştırıldıktan hemen sonra kod çalıştırılması gerektiğinde aşağıdaki yöntemi kullanabiliriz.
Öncelikle bir middleware sınıf tanımlayalım.
public class StartUp
{
private readonly RequestDelegate next;
private bool running = false;
public StartUp(RequestDelegate next)
{
this.next = next;
}
public Task Invoke(HttpContext httpContext)
{
if (!running)
{
//Çalıştırmak istediğimiz kodlar
running = true;
}
return next(httpContext);
}
}
Şimdi bu sınıfımızı Program.cs dosyamıza ekleyelim.
Ekleyeceğimiz kısım tercihen app.Run() ifadesinden hemen önce olmalıdır.
app.UseMiddleware
app.Run();
Bu işlemden sonra middleware sınıfımız projemize tanımlanacak ve .Net Core platformunun yaşam döngüsü gereği her istekte invoke edilecektir.
En son eklememizin sebebi ise daha önceki işlemlerde oluşabilecek tanımlara erişmekte sıkıntı yaşamamak için. (Özel bir anlamı yok :))