WebServisleri

Data diğer insanlar tarafından da kullanılabilir. Veri bir taraftan güncellenirken başkası tarafından da kullanılıyor olabilir. Bilginin güvenliği, yayılması ve güncelliği için gereklidir.

Kişi, kendi belirlediği bilgileri bir adres üstünden kendi izinleri dahilinde kullanır. Mernis kimlik sorgulama sistemi buna en güzel örnektir. TC Kimlik bilgileri sadece görüntülenebilir, güncellenemez.

 

WebServisleri 2012’de önceki sürümlerdeki gibi değil. Boş bir site açıp ekleyeceğiz.

File | WebSite | Empty Web Site

Web Servisinin ara yüzü yoktur. Bir adres üstünden bağlanırız.

Add | New Item | Web Service

Metodlar tanımlanıyor. Aradaki tek fark attribute

Derleme aşamasında attributeyi görüp web servis olarak ayarlar.

Web service elimizdeki bilgiyi dışarıya sunmamızı sağlayan yapıdır. Web Servisi hazır.

Ayrıntılar ilerleyen satırda anlatılacaktır. Şimdi bu servisi ekleyeceğimiz Web uygulamasını açıyoruz.

Bir Web uygulaması açıp servisi ekleyeceğiz.

File | WebSite | Empty Web Site

 

Sağda site üstünde | Add new Item | Add Service Reference

 

Sayfa açıldığında Hello World methodu hazır bulunmaktadır.

 

Bir fonksiyon tanımladık.

 

   [WebMethod]

publicstring Mesaj(string ad, string soyad)

    {

return”Merhaba” +ad+” “+soyad;

    }

 

 

 

 

 

 

Web Servisini çalıştır ve adresbardaki adresi kopyala ve

http://localhost:1400/WebSite1/WebService.asmx

Add Service Reference penceresindeki Address bara yapıştır.

 

 

 

 

    [WebMethod]

publicstring Notlar(string ad, string soyad, double vize, double final)

    {

return”Merhaba ” + ad + ” ” + soyad + ” Not:” +

            ((vize * 0.4) + (final * 0.6)).ToString() + ” Sonuc:”+

            (((vize * 0.4) + (final * 0.6))>=50?”Geçti”:”Kaldı”);

    }

 

 

    [WebMethod]

publicstring[] Notlar2(string ad, string soyad, double vize, double final)

    {

string[] dizi = newstring[4];

        dizi[0] = ad;

        dizi[1] = soyad;

        dizi[2] = ((vize * 0.4) + (final * 0.6)).ToString();

        dizi[3] =  (((vize * 0.4) + (final * 0.6)) >= 50 ? “Geçti” : “Kaldı”);

return dizi;

    }

 

    [WebMethod]

publicdouble UstAl(double ust, double taban)

    {

returnMath.Pow(taban,ust);

    }

 

    [WebMethod]

publicDataSet DataGetir(int id)

    {

SqlDataAdapter data = newSqlDataAdapter(“Select * from Musteri where ID=@ID”,baglanti);

        data.SelectCommand.Parameters.Add(“@ID”,SqlDbType.Int).Value=id;

DataSet ds=newDataSet();

 

        data.Fill(ds,”Musteri”);

 

return  ds;

    }

 

    [WebMethod]

publicDataSet GecenleriGetir()

    {

SqlDataAdapter data = newSqlDataAdapter(“select adi,soyadi, ((vize*0.4)+(final*0.6)) as Notu from musteri where ((vize*0.4)+(final*0.6))>=50”, baglanti);

DataSet ds = newDataSet();

 

        data.Fill(ds, “Musteri”);

 

return ds;

    }

 

    [WebMethod]

publicDataSet KalanlarGetir()

    {

 

SqlDataAdapter data = newSqlDataAdapter(“select adi,soyadi, ((vize*0.4)+(final*0.6)) as Notu from musteri where ((vize*0.4)+(final*0.6))<50”, baglanti);

DataSet ds = newDataSet();

 

        data.Fill(ds, “Musteri”);

 

return ds;

    }

 

 

    [WebMethod]

publicList<Musteri> MusteriGetir()

    {

 

BilgiDataContext data=newBilgiDataContext();

var Sonuc = from p in data.Musteris

select p;

 

return Sonuc.ToList();

    }

 

    [WebMethod]

publicvoid MusteriEkle(string ad,string soyad,double vize,double final,string adres)

    {

 

BilgiDataContext data = newBilgiDataContext();

 

Musteri bilgi = newMusteri()

        {

            Adi = ad,

            Soyadi = soyad,

            Vize = vize,

            Final = final,

            Adres = adres

        };

 

        data.Musteris.InsertOnSubmit(bilgi);

        data.SubmitChanges();

    }

}

 

 

 

Linq ile List versiyonunu geri döndürün.

.ToList();

    [WebMethod]

publicList<Musteri> MusteriGetir()

    {

BilgiDataContext data=newBilgiDataContext();

var Sonuc = from p in data.Musteris

select p;

return Sonuc.ToList();

    }

//Kodların içinde var. Açıklama için ayrıca buraya da yazdım.

 

Ramazan CESUR