BirçoÄŸumuz için sadece bir veri türü olmakla sınırlı “string” tipini için özel bir baÅŸlık altında iÅŸlemek ilginç gelmiÅŸ olabilir. Bu baÅŸlığın amacı okuyucuda bir merak uyandırmak yerine programlarımızda en çok kullandığımız “string” veri türünün diÄŸer veri türlerinden farklı bir konuma sahip olduÄŸunu anlatmaktır. Özellikle string tabanlı ekleme, kesme, deÄŸiÅŸim, öteleme gibi iÅŸlemlerde string veri türünün karakterini bilmekte fayda vardır.
BilindiÄŸi gibi .NET platformunda iki tür veri tipi kullanılabilir; deÄŸer veri türleri(value data type) ve referans veri türleri(reference data type). Bu iki veri türünü birbirinden ayıran özellik, deÄŸer türlerin sabit uzunluklu olduÄŸu ve memory’nin stack alanı üzerinde depolanmaları, referans türlerinin de genellikle deÄŸiÅŸken büyüklüğe sahip olmaları ve kendilerinin memory’nin heap alanı, referanslarının ise stack üzerinde depolanmalarıdır. int, datetime, decimal gibi tipler, deÄŸer türü, class, array gibi nesne tabanlı tipler de referans türü olarak örneklendirilebilir. Bir çok yazılımcı tarafından string veri tipi de deÄŸer türüymüş gibi algılanmaktadır. Read the rest of this entry »
Web uygulamalarında, kullanım alanlarının geniÅŸ olması, tanımlı tanımsız binlerce ziyaretçiye hizmet veriyor olması ve bu ziyaretçilerin farklı kullanım seviyelerine sahip olmaları sebebiyle hata oluÅŸma ihtimali yüksektir. Bu ihtimali aza indirgemek için kullanıcı ile sunucu arasında çift yönlü aktarılan verilerin daima doÄŸrulama iÅŸlemlerinden geçirilmesi gerekmektedir. Böylece kullanıcının, uygulamaya zarar vermesi veya sunucunu ziyaretçiye doÄŸru olmayan bilgiyi gönderme ihtimali azaltılmış olur. Buna raÄŸmen örneÄŸin sistemde olmayan bir sayfanın istenmesi gibi bazen düşündüğümüz ihtimallerin dışında da hatalar oluÅŸabilir. Bu nedenle sitenin herhangi bir alanında meydana gelen tüm hataları yönetiyor olmamız lazım. Bunu yapmanın farklı yolları olsa da ASP.NET, bu amaçla etkili bir hata yönetimi(error handling) sunmaktadır. Read the rest of this entry »
Muhasebe, ERP, portal gibi uygulamalarda vazgeçilmez içeriklerinden biri de Merkez Bankası(MB) günlük döviz kurları konusunda kullanıcının bilgilendirilmesidir. Bu küçük ihtiyacı karşılamak için MB, kendi sitesinde günlük kurları, XML formatında sunuyor. Bizim yapacağımız iÅŸlem, bu xml dosyasını okuyup ilgili parse iÅŸlemlerini yapmaktır. Bunun için .NET Framework’ün, System.Net kütüphanesi kullanılır. Bu kütüphane, Internet uygulamalarını daha kısa sürede ve kolayca geliÅŸtirmek için gerekli sınıfları içermektedir. Bu bölümde HttpWebRequest ve HttpWebResponse sınıflarını kullanacağız. Read the rest of this entry »
Datagrid, GridView kontrollerde sayfalama yaparken default olarak Numeric veya NextPrevious modları sunulur. Bununla beraber bu kontroller, özel bir sayfalama ÅŸekli oluÅŸturmamıza da izin vermektedir. Bu yazıda özellikle cari hesap kartlarının, üyelerin listelendiÄŸi sayfalarda desktop uygulamalarından kalma bir alışkanlık olan alfabetik sıralamanın nasıl yapılacağını göreceÄŸiz. Read the rest of this entry »
Bir web servisi yazdık ve bunu bir client uygulamasında referans olarak kullanmaya baÅŸladık. Fakat bir süre sonra bu web servisinin(*.asmx) yayın yaptığı Urladresi deÄŸiÅŸti. Bu durumda bilindiÄŸi gibi bu servisi kullanan uygulamada yeniden “Add Web Reference” menüsünden yeni Url adresini güncellememiz ve uygulamamızı recompile etmemiz gerekir. Bu iÅŸlemi yaptığımızda VS.NET, otomatik olarak gerekli proxy nesnesini oluÅŸturur. (Ve client uygulamamız, bu proxy nesnesi üzerinden web servisiyle haberleÅŸir.)
Her Url adresi deÄŸiÅŸikliÄŸinde client uygulamasını yeniden derlemek deployment açısından pek mantıklı bir fikir deÄŸildir. .NET Framework, bu yönteme alternatif olarak deÄŸiÅŸikliÄŸin kolayca yapılacağı bir yol sunar; Read the rest of this entry »
Bir .NET uygulamasının aynı anda sadece bir örneÄŸini(single instance) çalıştırmak için birçok yöntem kullanılır. Burada bu yöntemlerden en çok kullanılan ve en hızlı olan mutex metodunu kullanımını örneklendireceÄŸiz. Mutex(Mutual Exclusion) fonksiyonu, belli kaynakların yalnızca bir thread tarafından kullanılmasını saÄŸlayan böylece processlerin birbirini engelleme sorununu ortadan kaldıran threading iÅŸleminde önemli rol oynayan bir iÅŸletim sistemi nesnesidir. Bir mutex’i, programların bir t zamanında sadece bir kere çalışmasını saÄŸlamak amacıyla geliÅŸtirilmiÅŸ senkronizasyon tabanlı kilit yapısı olarak düşünebiliriz. Read the rest of this entry »
Bu makalede SQL Server’da language ve collation kavramlarının farklılıklarından bahseceÄŸiz. Language kavramı, mesajlar, date/time, ay/gün isimleri, para formatı ve birimi gibi yerel bilgileri desteklemekle sınırlıdır. SQL Server, kendi içerisinde birçok dile ait yerel bilgileri taşır. Bu bilgiler, kullanıcıların oturumlarına baÄŸlı olarak uygulamalarda farklı dil deÄŸerlerini göstermelerini saÄŸlamaktadır.
SQL Server’in desteklediÄŸi dil veya diller hakkında ayrıntılı bilgi almak için sp_helplanguage procedure kullanılabilir. Bu procedure, @language parametresi girilmezse tüm dillerin ayrıntısı listelenir. Language tanımlamaları, sys ÅŸemasına baÄŸlı syslanguages tablosunda saklıdır.
--Bütün dilleri listeleyelim. EXEC sp_helplanguage --Sadece Türkçe dilinin bilgilerini görelim EXEC sp_helplanguage turkish --Doğrudan syslanguages tablosunu sorgulayalım. SELECT * FROM sys.syslanguages WHERE alias='turkish'
SQL Server’da dil ayarı sunucu ve kullanıcı(oturum) bazında etkili olur. SQL Server’in instanceni kurarken language deÄŸerini de set edebiliriz. Sunucunun default dil deÄŸerini Sever Properties penceresindeki Advanced sekmesindeki
Visual Studio 2005′de bir web site projesinde bazı anlarda bir kontrolün ID’sini deÄŸiÅŸtirmek istediÄŸimizde The Directory Name is Invalid veya Failed to find definition hata mesajlarını alırız. Bu hatayla App_Code klasörü bulunan projelerde karşılaşılır. Özellikle baÅŸarısız bir derlemeden sonra bu hata mesajı çıkabilmektedir. Bu sorunu aÅŸmak için; ..\Documents and Settings\<UserName>\Local Settings\Application Data\Microsoft\WebsiteCache klasörün altında uygulamamız ile aynı isimde boÅŸ bir klasör oluÅŸturmalıyız.
.NET destekli programlama dillerini kullanarak Active Directory(AD) üzerinde sorgulamalar yapabiliriz. Bu amaçla .NET Framework, System.DirectoryServices kütüphanesini sunar. Bu kütüphanenin sınıflarını kullanarak, AD üzerinde sorgulamalar yapılabilir, ilgili nesnelere ulaşılabilir, kullanıcıların authentication iÅŸlemi saÄŸlanabilir, web/windows/console uygulamalarından AD kayıt güncellemeleri gerçekleÅŸtirilebilir. DirectoryServices kütüphanesinin sınıflarına geçmeden önce AD’nin desteklediÄŸi LDAP standartından bahsedelim. Read the rest of this entry »
Özellikle yeni bir kaydın yapılacağı sayfalarda KAYDET butonuna birden fazla tıklandığı zaman veritabanında mükerrer kayıt oluşmaktadır. Bunu engellemek için ASP.NET öncesi teknolojilerde submit butonu gibi formu submit eden kontrolü JavaScript yardımıyla önce disable edip ardından formu submit ediyorduk.
Aynı mantığı ASP.NET server kontrolleri için de uyguladığımızda kontrolün disable olduğunu ancak postback işlemini gerçekleştirmediğine şahit oluruz. Event metodu verilmiş bir buttonu aşağıdaki gibi kodlayalım;




Recent Comments