ASP.NET Core IHostApplicationLifeTime

Yasin DALKILIÇ
1 min readMar 7, 2021

--

IHostApplicationLifeTime

Herkese merhabalar bu yazımızda sizlerle beraber Dotnet içerisinde yer alan IHostApplicationLifeTime’a göz atıyor olacağız. Öncelikle geçenlerde dotnet uygulamam ayağa kalkarken log tutulması gerektiği ve uygulama kapanırken belirli başlı işlemlerin yapılması gerektiğiyle ilgili bazı problemler yaşıyordum ve dotnet üzerinde bunun için birşey varmıdır diye kurcalarken IHostApplicationLifeTime arayüzü yardımıma yetişti bizim için içerisinde ApplicationStarted,ApplicationStopped ve ApplicationStopping adında property değerleri mevcut bizde bu property değelerine fonksiyon register ederek istediğimiz işlemi gerçekleştirebiliyoruz.Örnek olarak uygulamamız ayağa kalkarken ve kapanırken log tutan basit bir uygulama yapalım. O halde hadi başlayalım.

Proje Oluşturma

dotnet new webapi

diyerek boş bir webapi projesi oluşturuyorum. Projeyi oluşturduktan sonra Startup.cs dosyasına gidiyor ve aşağıdaki işlemleri gerçekleştiriyorum.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime, ILogger<Startup> logger){
lifetime.ApplicationStarted.Register(() =>
{
logger.LogInformation("Uygulama Ayağa Kalkıyorr");
});
lifetime.ApplicationStopping.Register(() =>
{
logger.LogInformation("Uygulama Duruyorrr ");
});
lifetime.ApplicationStopped.Register(() =>
{
logger.LogInformation("Uygulama Durdu :( ");
});
....
}

Startup.cs dosyamız içerisinde yer alan Configure methodunda IHostApplicationLifetime ve ILogger inject edip ILogger için ilgili assembly olarak Startup’ı veriyorum ve geri kalanında yapmam gereken tek şey inject ettiğim lifetime üzerinden methodları register etmek işte hepsi bu kadar .

Herkese İyi Çalışmalar Dilerim.

--

--

Yasin DALKILIÇ
Yasin DALKILIÇ

Written by Yasin DALKILIÇ

Hi, My name is Yasin I am a Software Developer, I love so much researching and development 😊 Here is my youtube channel @webciyasin

No responses yet