Turkiyenin en buyuk teknoloji sirketlerinden birinde net core developerim ama sizi her izledikce yeni seyler ogreniyorum meger bir sey bilmiyormusum :) sagolun varolun
Bir izleyicimizin uyarısı ile şu notu eklemek istiyorum; Eğer IHttpClientFactory interface'i üzerinden bir client oluşturmuyorsak, yaratmış olduğumuz HttpClient nesnelerinin çok sık olarak Create edilmemesi veya uzun yaşam süresine sahip olması önemli. Http bağlantıları maliyetli bağlantılar. Port açmak ve onu kullanıp kapatmak maliyetli işler. HttpClient'ı kendiniz yarattığınızda bu maliyetlere defalarca kez katlanmış oluyorsunuz ancak IHttpClientFactory bizim için bunu yapıyor. Dolayısı ile mümkünse bu interface üzerinden oluşturun client'larınızı. Değilse de using içerisinde HttpClient kullanıp her seferinde dispose edip yeniden oluşturmamaya özen gösterin. Detaylar için: learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines
hocam güzel anlatmışsınız teşekkürler. yalnız şöyle bir durum var neden her class'a disposable uygulamıyoruz. sadece belirli sınıflara uygulanmış bunun bir anlamı olmalı. dediniz ki class içerisinden başka classlarda çağrılıyor onları yok etmek için ama tam karşılığı bu mudur?
Dispose ettiğimizde o class içindeki bir şeylerin state'lerini değiştiriyor, varsa gereksiz dış bağlantılar onları kapatıyoruz. SqlConnection ve HttpClient örnekleri tam olarak bunu karşılıyor. Dispose edildiklerinde TCP veya http bağlantılarını kapatıyorlar. Eğer bizler de kendi class'larımız içinde bu tarz bağlantılar barındırıyorsak dispose edildiğinde kapatmamız gerekir. Dolayısı ile class'ımızı da IDisposable interface'inden türetmek lazım. Ama tüm class'larımızı bu şekilde tasarlamıyoruz doğal olarak.
Turkiyenin en buyuk teknoloji sirketlerinden birinde net core developerim ama sizi her izledikce yeni seyler ogreniyorum meger bir sey bilmiyormusum :) sagolun varolun
Herkese yeni bir şeyler öğretebiliyorsam, ne mutlu bana :)
Bir izleyicimizin uyarısı ile şu notu eklemek istiyorum;
Eğer IHttpClientFactory interface'i üzerinden bir client oluşturmuyorsak, yaratmış olduğumuz HttpClient nesnelerinin çok sık olarak Create edilmemesi veya uzun yaşam süresine sahip olması önemli. Http bağlantıları maliyetli bağlantılar. Port açmak ve onu kullanıp kapatmak maliyetli işler. HttpClient'ı kendiniz yarattığınızda bu maliyetlere defalarca kez katlanmış oluyorsunuz ancak IHttpClientFactory bizim için bunu yapıyor. Dolayısı ile mümkünse bu interface üzerinden oluşturun client'larınızı. Değilse de using içerisinde HttpClient kullanıp her seferinde dispose edip yeniden oluşturmamaya özen gösterin.
Detaylar için: learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines
Hocam emeğinize sağlık.
Teşekkürler :)
Gerçekten çok güzel sade açıklayıcı bir anlatım olmuş Emeğinize sağlık Teşekkür ederim Sevgili kardeşim Salih Cantekin
Emeğinize sağlık. Çok faydalıydı. Devamını bekliyoruz.
Hocam emeğinize saglık , Reflection üzerine de gerçek hayat örnekleri ile bir video cekebilir misiniz?
Kanalda Kendi Mediator kütüphanemizi yazalım isminde bir video var. Orada bir miktar giriş yapmıştık bu konuya :)
Güzel bir video olmuş. Keep it doing!
çok güzel bir çalışma olmuş elinize sağlık
Elinize sağlık teşekkürler
Emeğinize sağlık
Hocam sizi izledikçe moralim bozuluyor biz hiçbirşey bilmiyormuşuz ya 😢
Estağfurullah :))
hocam güzel anlatmışsınız teşekkürler. yalnız şöyle bir durum var neden her class'a disposable uygulamıyoruz. sadece belirli sınıflara uygulanmış bunun bir anlamı olmalı. dediniz ki class içerisinden başka classlarda çağrılıyor onları yok etmek için ama tam karşılığı bu mudur?
Dispose ettiğimizde o class içindeki bir şeylerin state'lerini değiştiriyor, varsa gereksiz dış bağlantılar onları kapatıyoruz. SqlConnection ve HttpClient örnekleri tam olarak bunu karşılıyor. Dispose edildiklerinde TCP veya http bağlantılarını kapatıyorlar. Eğer bizler de kendi class'larımız içinde bu tarz bağlantılar barındırıyorsak dispose edildiğinde kapatmamız gerekir. Dolayısı ile class'ımızı da IDisposable interface'inden türetmek lazım. Ama tüm class'larımızı bu şekilde tasarlamıyoruz doğal olarak.
Sagolun.