Middleware nedir? (Gençay Yıldız anlatımından resmedilmiştir)
Middleware nedir?
Middleware ler ilgili requestin talep amacına ulaşana kadar sonlanmaz. Biri diğerini tetikler. Talep tamamlandığında sonlanır.
Startup.cs içerisindeki Configure altındakilerin hepsi birer Middleware dir.
Her request geldiğinde Hello yazdıran bir Middleware oluşturalım.
Bunu oluşturmamızın nedeni, bu Middleware den bir önceki Middleware deki RequestDelagate in, HelloMiddleware i tetikleyebilmesi için uygun bir imza oluşturduk.
Artık customda yapacağımız Middleware içeriğini burada oluşturduk.
Böylece startup.cs içeriğini doldurmamış olduk. İdeal kullanım bu şekildedir. startup.cs içeriği kodlarla şişirilmemelidir.
Tetikleme işlemini gerçekleştirebilmemiz için, metodumuza gelen next değerini almak için RequestDelagate referansına almam gerekiyor. Bu nedenle bu referans türünde _next değişkeni belirledik. Gelen next değerini bu referansa atadık.
Selamin Aleykümm dedik. Httpcontext imizi de göndererek, bizden sonraki Middleware i tetikledik. Böylece bizden sonraya sıra geçmiş oldu. Bütün Middleware lere gittikten sonra geri dönüş olacak. Geri dönüşte bize sıra geldiğinde Aleyküm Selam yazdırma işlemini yapıyor.
Artık buradaki Middleware i sisteme Extension olarak dahil etmemiz gerekiyor. Bunun için bu isimde bir klasör oluşturup burada Extension sınıfı oluşturuyoruz.
Bu sınıfın geri dönüş türü IApplicationBuilder. Çünkü Middleware kullanımının standardında kullanılan tür budur.Örneğin: startup.cs altındaki UseHttpsRedirection Middieware ininin özelliğine baktığımızda da bu türden dönüş yaptığını görürüz
Uygulamayı çalıştırdığımızda consolda önce Selamin Aleyküm sonrasında Aleyküm Selam yazdırdığını gördük.
Yorumlar
Yorum Gönder