Örnek: WebServices Uygulaması
Insert işlemi yapacağız. Geri dönüş listView olsun.
Veritabanı bağlantısı yaptık.
Web Servisini tanımlama.
Web site | Add New Item | Web Service isim: ogrenci | Servis oluştu.
Class gibi Constructure da oluşmuş.
Add New Item | Linq to SQL | Ogrenci adıyla kaydettik.

Server Explorer’dan SQL Server bağlantısını yaptık. Bağlantı kuruldu.
Müşteri tablosunu sürükleyip bıraktık.
Bu dosyanın adı 43 ders /WebSite1 (WebServisi için hazırladığımız dosya)

Servise aşağıdaki kodları ekledik.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

///<summary>
/// Summary description for Ogrenci
///</summary>
[WebService(Namespace = “http://tempuri.org/”)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
publicclassOgrenci : System.Web.Services.WebService {

public Ogrenci () {

//Uncomment the following line if using designed components
//InitializeComponent();
    }

    [WebMethod]
publicList<Musteri> OgrenciAdaGoreAra(string ad) {
OgrenciDataContext data = newOgrenciDataContext();

var sonuc = from p in data.Musteris
where p.Adi.Contains(ad)
select p;

return sonuc.ToList();
    }

     [WebMethod]
publicList<Kisi> KisiBilgi(int id)
    {
OgrenciDataContext data = newOgrenciDataContext();
var sonuc = from p in data.Musteris
where p.ID == id
select p;

var ort = (from p in data.Musteris
selectnew
                   {
                       notlar = (p.Vize * 0.4) + (p.Final * 0.6)
                   }).Average(p=>p.notlar);

var snc=sonuc.ToArray();
//Class oluşturuyoruz.
//Musteri dizisi oluşturur.

Kisi kisi = newKisi()
         {
             Ad = snc[0].Adi,
             Soyad = snc[0].Soyadi,
             Vize = Convert.ToDouble(snc[0].Vize),
             Final = Convert.ToDouble(snc[0].Final),
             Durum = ((Convert.ToDouble(snc[0].Vize) * 0.4) + (Convert.ToDouble(snc[0].Final) * 0.6)) >= 50 ? “Geçti” : “Kaldı”,
             SinifOrt = Convert.ToDouble(ort)
         };

List<Kisi> dizi = newList<Kisi>();

         dizi.Add(kisi);
return dizi;
    }
}

Şimdi bir uygulama daha açacağız.
Yeni bir VS2010 başlatıyoruz. | File | Web Application | WebSite2 adıyla kaydettik.
Sayfaya bir textbox, 2 button, bir gridview ekledik.
Servisi çalıştırıp (ilk uygulamayı) adresini kopyalayıp bu uygulamanın solution bölümünden Add Reference seçeneğinden çıkan pencereye yapıştırıyoruz.

Öğrencinin idsini gönderip verileri çekeceğiz. Adı, Soyadi, Vize, Final, Not, Ortalama. Ayrıca sınıf ortalaması ve geçti kaldı durumlarını sorguyla çekecek.
(Bir Class yazdık: Kisi)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

///<summary>
/// Summary description for Kisi
///</summary>
publicclassKisi
{
publicint No { get; set; }
publicstring Ad { get; set; }
publicstring Soyad { get; set; }
publicdouble  Vize  { get; set; }
publicdouble Final { get; set; }
publicstring Durum { get; set; }
publicdouble SinifOrt { get; set; }
}

WebSite2’de buttonlara aşağıdaki kodları yazdık.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ogrenciler;

publicpartialclass_Default : System.Web.UI.Page
{
protectedvoid Page_Load(object sender, EventArgs e)
    {

    }
protectedvoid Button1_Click(object sender, EventArgs e)
    {
Ogrenci data = newOgrenci();
        GridView1.DataSource= data.OgrenciAdaGoreAra(TextBox1.Text);
        GridView1.DataBind();
    }
protectedvoid Button2_Click(object sender, EventArgs e)
    {
        Ogrenci2.OgrenciSoapClient data = new Ogrenci2.OgrenciSoapClient();

        GridView1.DataSource= data.KisiBilgi(Convert.ToInt32(TextBox1.Text));
        GridView1.DataBind();
    }
}

Ramazan CESUR…