Asp.Net Webmethod ile TC No Doğrulama - Burak Tungut
BT Blog › Asp.Net MVC › Asp.Net Webmethod ile TC No Doğrulama
Asp.Net Webmethod ile TC No Doğrulama
Bu makalem de bir Asp.Net ile Tc Kimlik No doğrulanması için servis kullanan bir webmethod yazarak, jQuery ajax ile çağırıp dinamik bir şekilde sonuç elde edeceğiz.
Bu makale ile hem jQuery, hem Servis hem de Asp.Net bilgilerimizi tazeleyeceğiz :)
Öncelikle bir adet boş Asp.Net Web Form projesi oluşturalım.
Ardından "References" -> "Add Service Reference..." yolunu izleyelim.
Adres kısmına kullanacağımız servis yolunu girelim ; https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL
Ve ardından GO butonuna basarak listelenen servisimize tıklayıp Namespace alanını "tcKimlikServis" şeklinde değiştirelim.
Hemen ardından bir adet WebForm ekleyelim ve adını "tcDogrula.Aspx" olarak koyalım.
Web Formumuzu şekilde ki gibi table ile dizayn edelim (table kodları aşşağıdadır)
F7 ile kod kısmına geçelim ve tcDogrulaWebMethod adında bir adet webmethod yazalım, parametrelerimiz de tcNo'yu int yerine long almamızda ki sebep ise 11 haneden oluşması.
dogruMu adında bir bool değişkeni tanımlarken dikkat ederseniz "?" operatörünü kullandık, bu sayede değişkenimiz true ve false haricinde null değeride alabilecek duruma geldi. Bu özellik sayesinde object kullanmaktan kurtuluyor ve projemize performans katmış bulunuyoruz.
try bloğu arasında servisimizi gereken parametrelere göre çağırdıktan sonra doğru ise gelecek olan cevap true olacaktır. Yanlış olması durumda false geri döneceği gibi, servis ile aramızda oluşan bir durumdan dolayı fırlayacak herhangi bir hatadan ötürü değişkenimiz null değerini alacaktır.
Ajax da sıkıntı yaşamamak için methodun geri dönüşünü bool yapmaktansa int yapmıştık, o halde doğru olması halinde "1", yanlış olması halinde "2" ve hata fırlaması durumunda geriye "0" değerini döndürüyoruz.
Head kısmında ise jQuery kütüphanemizi ekledikten sonra ID'si "btnBurak" olan butonun tıklanması halinde işlemlerin başlaması için kodlarımızı bu şekilde yazıyoruz.
Ajax işlemin de dikkat edeceğimiz en önemli nokta string değerlerin tırnak içersinde gönderilmesi olacaktır. json ile aktardığımız verilerimize göre methoddan gelen cevabı switch içinde kontrol ediyoruz.
Hatırlarsanız doğru ise 1, yanlış ise 2, hata fırlarsa 3 değerlerini alacaktık. Bunlar için tek tek koşullarımızı yazdıktan sonra diğer bir ön kademe de gerçekleşebilecek hataları gidermek için yani ajax işleminden kaynaklanacak hatalardan dolayı da ekrana hata mesajı verecek bir kod yazıyoruz.
table kodlarımızı da inceliyoruz ve componentlere vereceğiniz ID leri bir kez daha gözden geçiriyoruz.
Bilgilerimizi doğru girdiğimiz de ki ekran görüntüsü.
Bilgilerden herhangi birinin yanlış girilmesi halinde ki ekran görüntüsü
Doğum yılında hatalı giriş bulunduğu için ajax da hata fırlaması halinde ki ekran görüntüsü.
Bir sonraki makalem de görüşmek üzere :)
Asp.Net	Web Method	TC No Doğrulama	Web Service
emre çolak 26.1.2013
tcdogrula.aspx kendine mi asenkron cagrıda bulunuyor anlamadım açıkcası?servis sayfasına post edilmesi gerekmez mi?
Burak TUNGUT 26.1.2013
Dediğiniz gibi, tcdogrula.aspx ajax ile kendi içerisindeki webmethod'a asenkron çağrıda bulunuyor. Senaryo gereği servis ile iletişimi webmethod ile kuruyoruz. Ajax ile TC sorgulama yapmakta mümkün. Fakat bu noktada örnek Asp.Net ve Webmethod örneğinden çıkıp bambaşka bir örnek haline dönüşecektir.