Makale Özeti

Bildiğiniz gibi .Net Framework 1.1 ile DataTable larımız Serialize edilemiyordu.Ancak bunu yapmak için DataTable ımızı Serileştirilebilen bir yapı olan DataSet içine koyarak Web Servislerinden geçirebiliyorduk. .Net Framework 2.0 ile artık DataTable ımız serileştirilebilir bir yapıda. Böylece uygulamalarımızda ya da projelerimizde rahatça DataTable kullanabılıyoruz.

Makale

DataTable'i Serializable ederek WebServisten geçirmek.

Bildiğiniz gibi .Net Framework 1.1 ile DataTable larımız Serialize edilemiyordu.Ancak bunu yapmak için DataTable ımızı Serileştirilebilen bir yapı olan DataSet içine koyarak Web Servislerinden geçirebiliyorduk. .Net Framework 2.0 ile artık DataTable ımız serileştirilebilir bir yapıda. Böylece uygulamalarımızda ya da projelerimizde rahatça DataTable kullanabılıyoruz. Şimdi bunun nasıl yapıldığını bir örnekle inceleyelim.

Öncelikle bir windows application açıp adını SerialDataTablewin yapalım.

Sonra da form un üstüne bir tane DataGridView sürükleyip bırakalım.

Sonra da örneğimize File-Add-New Web Site diyerek yeni bir tane Web Site ekleyelim.Adını SerialDataTableweb yazalım.

Sonra da Service.cs class içinde HelloWord metodu yerine şu kodları yazalım:

 

using System.Data;

using System.Data.SqlClient;

namespacelerimizi eklemeyi unutmayalım.

Şimdi de şu kodlarımız yazalım.

 

[WebMethod]

public DataTable SerialDataTable()

{

SqlConnection cnn = new SqlConnection("data source=.;initial catalog=PanEr;integrated security=sspi");

SqlDataAdapter da = new SqlDataAdapter("Select * from Themes", cnn);

DataTable dt = new DataTable("Themes");

da.Fill(dt);

return dt;

}

Burada Ado.Net temel bilgilerini  bildiğinizi temel alarak yukarıdaki kodları açıklamıyorum.

Şimdi de Web Site mızı Build ediyoruz.

Şimdi de Web Servisimize Windows Application tarafından ulaşmak için AddWebReference diyerek referans olarak ekleyelim.

Bu pencereden de Web services in this solution seçeneğini seçeriz.

Bu penceremizde de Service seçeneğini seçerek bizde varolan SerialDataTableweb solution nını seçmiş oluruz.

Şimdi de seçmiş olduğumuz WebSite gelmiştir ve şimdi ona isim verelim.Web reference name alanına localhost u silerek prxSerialDataTable ismini vererek Add Reference butonunu tıklayalım.

Bu pencere eklemiş olduğumuz prxSerialDataTable Web Reference ını Update Web Reference diyerek Web Site alanında yapılan değişikleri orada build ederek burada da update ederek güncellemiş olduk.

Şimdi ise form üstünde çift tıklayarak form_Load unda şu kodları yazalım:

SerialDataTablewin.prxSerialDataTable.Service insSerial = new SerialDataTablewin.prxSerialDataTable.Service();

dataGridView1.DataSource = insSerial.SerialDataTable();

 

Burada prxSerialDataTable a ulaşarak bir intance sını alarak tanımlama yaptık.Sonra da form üstünde ki dataGridView ın source ına Web Site da ki SerialDataTable ı vermiş olduk.

Şimdi en son olarak proxy file a giderek SerialDataTable ın tanımlandığı yerde DataTable olarak tanımlarız(proxy file a ulaşmak için SerialDataTable üzerinde right-click yaparak Go To Definition).

Şimdi programımızı Run edebiliriz.

Görüşmek üzere

 

Mail: mehmet.altuntas@netron.com.tr