.Net Core Kestrel Web Server Uygulaması
Merhaba, önceki blog yazımda .net core için web server yapılarından bahsetmiştim. Kestrel web server ile console uygulamasını self host olarak kullanabileceğimiz örnek bir uygulamayı paylaşmaya çalışacağım.
Visual Studio 2017 ‘de .Net Core kısmından Console App (.Net Core) seçerek yeni bir solution oluşturuyoruz. Proje Dependencies kısmından Nuget package manager kullanarak Microsoft.AspNetCore.Server.Kestrel kütüphanesini projemize ekleyerek Kestrel web server console uygulumamıza eklemiş oluyoruz.
Uygulamanın ve servislerin configuration sağlamak için projemize Startup isminde bir sınıf ekliyoruz. Startup sınıfımız ;
// Dependencies here !!!
//Server Response Here !!!
.WriteAsync("<p>Hosted by Kestrel</p>" + context.Request.Query.ToString() + context.Request.Headers.ToString());
Uygulamamıza gelen isteklere Configure methodunda context.Response kullanarak sonuç değerleri verebiliriz. Hosting configuration ile browserdan yada diğer bir uygulamadan alabiliriz. Bunun için uygulamamızda bulunan Program sınıfının içersinde WebHostBuilder ile kestrel configuration’ı aşağıdaki şekilde yapmamız gerekmektedir.
options.AddServerHeader = true;
Kestrel web server çalışacak ve varsayılan olarak http://localhost:5000 adresini dinlemeye başayacaktır.Bu adrese browser ile bağlandığımızda sunucuya istek gönderilecek ve Configure methodunda yazdığımız response değerlerini görüntüleyeceğiz.
Basit örnek uygulamamızın kodlarını https://github.com/muratguven/KestrelConsoleApp adresinden erişebilirsiniz.
Önceki makale.Net Core 2.0 Sunucu Yapıları