.NET Core 3.0 içerisindeki IHostingEnvironment ile IHostEnvironment – obsolete tipi

.Net 3.0 ile gelen güncellemelerden bir tanesi de HostingEnviroment sınıfında yapılan bir takım temel değişiklikler. Temelde içerisinde yukarıdaki gibi parametreleri barındıran iki adet HostingEnvironment sınıfı mevcut. Bunlardan bir tanesi “Microsoft.AspNetCore.Hosting” diğeri ise “Microsoft.Extensions.Hosting” sınıfına ait namespace’ler. Tabi bu sınıf adları .net core 3.0’a kadar geçerli idi. .Net Core 3.0 itibari ile (3.1 ve muhtemelen üzeri de dahil olacak) aşağıdaki şekilde değiştirildi. Bu şekilde gördüğünüz gibi aslında iki sınıfta birbirinden bir miktar daha farklı veriler tutar …

C# ile String Sınıfı ve Genel Metodlar

Merhabalar, bu yazıda biraz da genel string fonksiyonlarından bahsetmek istiyorum. Tabi her birini ayrı ayrı örnek kullanımları ile birlikte test edeceğiz. Bu aşamada ilerlerken eksik bıraktığım veya yanlış belirttiğimi düşündüğünüz alan(lar) olur ise lütfen en alttaki yorumlar kısmından benimle paylaşmaktan çekinmeyin. String.Concat Kullanımı – Birleştirme Metodu String.Concat fonksiyonu ile birden fazla string ifadeyi birleştirme işlemini gerçekleştirebiliriz. Temel olarak aslında dizi birleştirme işlemi için de kullanılan bir yöntemdir. Her ne kadar günlük rutinde çok çok daha …

Html5 Video Player

Bu yazıda kısaca Html5 ile birlikte gelen standart video oynatıcısı ve bir kaç özelliğinden bahsetmek istiyorum. Daha eskiler bilirler hayatımızda bir süre öncesine kadar flash, vb… tabanlı video oynatıcılar hüküm sürüyordu. Epey zamandır bu durum html5 teknolojisi ve daha öncesindeki bazı jquery veya javascript tabanlı eklentiler ile değişmiş durumda. Artık günümüzde bir video oynatmak için bu tip taklalara gerek kalmadan sadece <video> tagi ile bu işlemi yapabiliyor durumdayız. Tabi daha gelişmiş oynatıcılar yine var. Onlara …

TryParse() Kullanımı

C# içerisinde belki de en çok kullandığımız metodlardan biridir. Bir nesneyi dönüştürürken çeşitli hatalar ile karşılaşabiliriz. Bu hataların başında da “object reference not set to an instance of an object” yani “nesne başvurusu bir nesnenin örneğine ayarlanmadı” hatası gelir. Bu hatanın en büyük nedenlerinden biri objenin içeriğinin boş olması veya istediğimiz tipe uygun olmamasıdır. Burada alabileceğimiz hatalardan bir diğeri de; “converting data type varchar to numeric” veya türevi hatalardır. Genel kullanım olarak kurslar dahil bir …

.Net Core ile app.settings Dosyasından Değer Okuma

.Net Core’un hayatımıza girmesi ile aslında pek çok yazılımcı bir bakıma rahat bir nefes aldı diyebiliriz. Elbette yaygın olarak bilindiği üzere bu teknolojinin en önemli ve güzel tarafı şimdilik %90 diyebileceğimiz ve muhtemelen yakında %100 olacak platform bağımsızlığıdır. Örneğin burada yazdığınız bir uygulamayı linux, macOS, windows gibi platformların hemen hepsinde çalıştırabiliyor olmanız, bu teknolojinin getirdiği en büyük yeniliklerin başında geliyor. Tabii ki buradaki %90 tabiri biraz afaki. Zira tüm sınıfların SDK’ları %100 oranında tamamlanmamış olasa …

string.Format() ile Karakter Katarını Formatlama

C# içerisinde belki on binlerce farklı sınıf ve metod var. Peki bunlardan kaç tanesini gerçek anlamları ile kullanıyoruz. Bir çok metod aslında günlük kullanımımız içerisinde kendini çok farklı ortaya çıkarmamızı sağlayan farklı yöntemlerle şekil buluyor kodlama hayatımızda. İşte string.Format() fonksiyonu da kısaca bunlardan bir tanesi. Genel içeriği aşağıdaki şekilde; Yukarıda belirttiğim şekilde, istediğiniz formatı hazırladıktan sonra içerisine istediğini türden objeyi atarak yazınızı oluşturabilirsiniz. Nasıl mı? String.Format Nasıl Kullanılır? Buradaki “2020” hatalı bir yazım değil. Zira …

C# Asp.Net ve Core İle E-Mail Gönderme

Merhaba Arkadaşlar. Uzun zamandır hiç paylaşım yapmıyordum. Tabi bu arada kodlamalara devam ediyoruz. Hayatın bir gerçeği. 🙂 Az önce belki hayatımda yüzlerce kez kullandığım bir kodu tekrar tekrar yazmak zorunda kaldım. Bu da haliyle bende “neden ben siteme bu kodu hazırlayıp koymadım ki” hissiyatını uyandırdı istemsizce. Bu yüzden de hemen kodu hazırlayıp, açıklamaları ile birlikte siteye atmak istedim. İşte bu paylaşım tamamen böyle bir durumun ürünü. Umarım daha sonralarında size çok çok daha yararlı gelecek …

C# İle Kurulu Bir Uygulamanın Yolunu, Adresini Bulmak

Bilgisayarda kurulu veya yüklü olduğunu bildiğiniz bir uygulamanın tam yolunu bulmak isteyebilirsiniz. Bu gibi bir durumda aslında başvurulması gereken yöntem iç içe bir foreach döngüsü ve Directory sınıfından ibaret olacaktır. Diyelim ki uygulamamızın adı notepad++.exe olsun. Bu dosyanın da C:\Program Files (x86)\ dizininde kurulu olduğunu biliyoruz. İşte bu gibi bir durumda aşağıdaki kodu rahatlıkla kullanabiliriz; Burada, try – catch bloğunu kullanmamın sebebi; Bazı uygulamaların dizinlerine erişmekte başarısız olabiliriz. Örneğin temp klasörü altında veya windows klasörü …

C# String Compare Methodu ve Kullanımı

string.Compare methodu kısaca iki string değeri karşılaştırmak için kullanılan bir metottur diyebiliriz aslında. Örnek kullanım alanları ise ilk akla geldiği gibi şifre ve şifre tekrar inputbox ları olabilir örneğin. string.Compare metodu, içerisine girilen iki değeri karşılaştırır ve eğer değerler tam uyumlu ise “0”, değil ise girilen değerlerin alfabetik sırasına göre “1” veya “-1” değeri döndürür. Burada dikkat edilmesi gereken, bu metodun orjinal halinde case sensitive, yani büyük/küçük harf duyarlı olmasıdır. Yani “erkan” değeri ile “Erkan” …

C# String Join Methodu ve Kullanımı

Kimi zaman programlamada iki veya daha fazla karakteri, kelimeyi, cümleyi, yani ezcümle string değeri birleştirme ihtiyacı duyabiliriz. Bu tip durumlarda izleyebileceğimiz birden fazla yöntem bulunmakta elbette. İşin manuel yapım örneğini aşağıdaki gibi de görebilirsiniz; Gördüğünüz gibi kodumuz toplamda yedi satırdan oluştu. Elbette basit bir tek işlemde 7 rakamı öyle büyük görünmeyebilir. Lakin binlerce satır kodun arasında bu işlemin 40-50 kere tekrarlama ihtimalini düşünür isek ya kendimi bir metot yazacağız ya da hazır bir metot var …

C# İle TCMB Döviz Kurlarını Okumak/Almak

Bildiğiniz üzere Türkiye içerisinde genel yasal döviz kurlar Türkiye Cumhuriyet Merkez Bankasından alınmakta. Tabi bu işlem için kendilerinin de bir hizmeti yok değil. Her gün saat 15:30’da yeni kurlar açıklanır ve TCMB’nin sitesinde ve XML’inde bu kurlar güncel olarak görüntülenebilir. İşte o adres; https://www.tcmb.gov.tr/kurlar/today.xml Buradaki değeri istediğiniz periyotta okuyup veritabanınıza kaydederek güncel kur işlemlerini takip edebilirsiniz. Nasıl mı? İşte size tam kod; Burada belirtilen “USD” / “EUR” gibi alanları XML’deki alanlara göre güncelleyerek istediğiniz kuru …

Roslyn\CSC.exe Hatası

roslyn\csc.exe yolunun bir parçası bulunamadı. Bir çoğumuzun başına gelmiştir belki de. Özellikle bir projeyi bir bilgisayardan başka bir bilgisayara taşıdıktan sonra eğer bin/debug klasörünün tamamını almamış isek, rastlayabileceğimiz nerede ise kaçınılmaz hatalardan biri. Aslında 2 çözüm yolu var. Birincisi oldukça basit; Roslyn csc.exe Hatası ve Çözümü (1) Visual Studio’dan Solution üzerine sağ tıklayın ve Clean Solution deyin. Ardından da tekrar Solution’a saü tıklayıp Rebuild Solution deyin. Bir süre rebuild işleminin bitmesini bekledikten sonra projenizi çalıştırabilirsiniz. …

C# İle XML Attribute (Özellik) Okuma

XML kullanımı yavaş yavaş azalıyor olsa da yine de XML’ler hala daha bir çok noktada vazgeçilmezlerimiz konumunda. Yerini yavaş yavaş JSON’lara bırakıyorlar. Lakin egemenlikleri hala tamamen sönümlenmiş değil. Bu neden ile basit bir şekilde XML Adres’ten XML’i ve attribute’lerini okumak için hızlıca bir örnek paylaşmak isterim. Evet, konu epey basit oldu farkındayım. Ancak gerçekten okumak bu kadar basit olduğu için konuyu kısa ve net ele almak istedim. Node’lar halinde XML okuma konusunu zaten önceden yazmıştım. …

Basic Authentication Kullanımı, Web Servisler İle Kullanım Tekniği

Merhabalar, basit authentication diye bir tabiri eminim yazılım hayatımızın bir noktasında duymuşuzdur ya da yakın zamanda duyacağız. 🙂 Aslında tam da Türkçeleştiği şekilde Basic Authentication, Temel Kimlik Doğrulama anlamını taşımaktadır. Özellikle SOAP yazmış olduğunuz web servisler için (yani asmx) temel güvenlik olarak kullanılmaktadırlar. Elbette temel olduğu için yüksek güvenlikli olacağı kesinlikle düşünülmemelidir. Tek başına kullanımı daha çok bilindik yerler ile paylaşılır iken ve/veya içerdiği datanın çok elzem olmadığı durumlarda söz konusudur. Diğer türlü düşündüğümüzde, daha …

Stopwatch Using (Kullanımı)

Bir önceki yazımda StopWatch nesnesinin nasıl kullanacağını işledim. Bu yazıda kısaca kendi yazdığım using bloğu içerisinde stopwatch kullanımına değineceğim. Öncelikle tam sınıfımız “StopwatchUsing.cs” ismi ile aşağıdaki gibi olacak. Kullanımı ise şu şekilde: Gördüğünüz gibi artık her yerde Stopwatch nesnesi üretip, ayrı ayrı kodlamanız gerekmeyecek. Bu using bloğu içerisine aldığınız her kodun bitiminde süre otomatik olarak bildiriliyor olacak.   Kolaylıklar… 🙂

Stopwatch() ile Kodun Ne Kadar Sürede Çalıştığını Hesaplamak, Çalışan Kodların İşlem Süresini Bulmak

Bir çoğumuzun öğrenmek istediği şeydir, yazdığımız bir kod bloğunun .net CLR tarafında ne kadar sürede derlenip çalıştırıldığını öğrenmek. Yani kod bloğu başlamasından bitişine kadar geçen süreyi ölçmek isteyebiliriz. Bu durum için “System.Diagnostics” kütüphanesi altında tutulan Stopwatch sınıfını kullanabiliyoruz. Öncelikle Objemizi oluşturup start verdikten sonra kodlarımız işliyor ve kodların bitiş noktasında sw.Stop() dedikten sonra sw nesnemizin toplam süresini öğrenebiliyoruz. Bu da bize start – stop arasında geçen süreyi vermiş oluyor. Örnek Kullanım: Gördüğünüz gibi en sonra ElapsedMilliseconds şeklinde …

C# Belleğe Kopyalama – Clipboard Copy

Windows’un klasik CTRL + C (Kopyalama) tuşu işlevini aşağıdaki kod ile gerçekleştirebilirsiniz. Ancak Windows Form uygulamalar dışında bu kodu kullanabilmeniz için ise System.Windows.Forms DLL’ini referans olarak projenize ekleyip aşağıdaki Windows.Form using’i eklemeniz gerekmektedir.   Eğer belleğe bir image(görsel) atmak istiyor iseniz ise aşağıdaki kodu kullanabilirsiniz;  

C# Döngüler, For, Foreach, While Döngüleri, Karşılaştırma

Selam Arkadaşlar, Özellikle yazılım sektöründeki yeni arkadaşlar için kıssadan hisse şekilde bazı çıtır çerez bilgiler verecek makaleler yayınlayayım istiyorum arada bir de olsa. Bu döngüler konusu da bunlardan bir tanesi elbette. Hepimizin bildiği gibi döngüler yazılımın en temel unsurlarından bir tanesi. Farklı alternatifler geliştirilmeye çalışılmış olsa da (linq bunlardan bir tanesi) çoğu zaman bir döngüden daha performanslı bir hal alamayabiliyorlar. Örneğin en basit şekilde şöyle bir testi anlatayım; Tüm ilişkilerden, database, vb… üçüncü parti uygulamalardan …

Chrome excel export data size limit – Kendo UI Grid

Selam arkadaşlar, Bugün size kısa bir konudan bahsedeceğim. Konumuz, benim başıma gelen, kendo ui grid component’i ile karşılaştığım ve üzerine biraz araştırma yaptığım bir konu; Javascript ile belli bir boyutun üstünde excel, pdf, vb… dosyayı export edememe. Hemen aklımıza şu soru gelebilir; “Peki, mozilla, safari, vb… tarayıcılar ile sorun olmuyor mu?”. Bu konuyu bende araştırdım ve test de ettim. Mozilla, vb… tarayıcılar izin verir iken Chrome bu konuda sadece 10.000 KB gibi bir boyuta izin …