Binary ve Soap Serialize

Bu dersimiz de xml alt yapısı olan soap ve binary formatter ları işleyeceğiz.serialize işlemi nasıl öğreneceğiz.

Selam arkadaşlar,

Bu makalemizde sizlerle birlikte Soap ve Binary Serializing'i işleyeceğiz.

Peki hocam nedir bu serialize?

Serialize dosyaları xml formatına çevirmek için kullanılır. Datalarınızı okunmayacak şekilde ve boyutları oldukça küçüktür.

Nerelerde kullanılır?

Güvenli dosya aktarımı için kullanabilirsiniz. Marketlerde kullanılan sipariş pda'larda da kullanılır. Neden diyeceksiniz, çünkü veri aktarımı hem hızlı, hem güvenli, hem de boyutu küçük.

Hemen bir örnekle Soap Serializing'i işleyelim, ardından da Binary Serializing'e bir örnek verelim.

Yeni bir form açıp üzerine iki adet button, iki adet textbox ve bir adet listview atmanız yeterli olacaktır. İsteyenler programı kendilerine göre değiştirebilirler. Ben kısaca temel anlatımı yapacağım.

Buttonlarımızın adını Soap kaydet ve Soap oku diye değişelim.
Listview objemizin view ayarını Details yapalım ve Edit Colums'tan iki adet kolon ekleyelim.

Soap kaydet button click olayına aşağıdaki kodları yazalım.


private void button1_Click(object sender, EventArgs e)

        {

            ArrayList list = new ArrayList(); // Yeni bir Array List Oluşturduk.

            list.Add(TextBox1.Text); // 1. TextBox tan Belirtilen Değeri Aldık.

            list.Add(TextBox2.Text); //2. TextBox tan Belirtilen Değeri Aldık.

            FileStream fs = new FileStream("C:Soap.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite); // FileStream ile datamızı c nin altına soap.txt olarak kaydettik.

            SoapFormatter sf = new SoapFormatter(); //  datamızı soap formatına çevirdik.

            sf.Serialize(fs, list); // datamızı soap ile serileştirdik.

            MessageBox.Show("İşlem Başarılı");

            fs.Close(); // FileStream Bağlantımızı Kapattık.

        }



Şimdi gelelim okumaya.

Soap oku button click olayına aşağıdaki kodları yazalım.


private void button2_Click(object sender, EventArgs e)

        {

            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)

            {

                FileStream fs = new FileStream(ofd.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite); // filestream nesnesi ile dosyamızı openfiledialog ile seçtik. 

                SoapFormatter sf = new SoapFormatter(); // soap formatter class ımızdan yeni bir instance aldık.

                ArrayList list = (ArrayList)sf.Deserialize(fs); belirtilen soapbinary datasını deserialize ettik yani kaydedilen soapbinary formatını tekrar dan türkçe karakterlere uyarladık. 

                ListViewItem lvi = new ListViewItem();

                lvi.Text = list[0].ToString();

                lvi.SubItems.Add(list[1].ToString());

                listView1.Items.Add(lvi);

                fs.Close(); //  bağlantımızı kapattık.

            }

        }



Evet arkadaşlar, Soap formatter bu kadar. Serialize ile kaydettik, deserialize ile okuduk.

Şimdi gelelim binary formatter'a. Binary formatter yazıları okunmaz hale getirdiği için çok güvenli bir XML alt yapısıdır. Soap binary ile kullanımı aynı. Değişen tek şey SoapFormatter yerine BinaryFormatter yazmanız olacaktır.

Siz de birer örnekle hem binary, hem de soap formatter'larını yapın.

Bu makalemin de sonuna geldik. Umarım yararlı olmuştur.

İyi çalışmalar.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

[b]SoapFormatter ve BinaryFormatter ı kullanmak için herhangi bir sınıf eklemesi yapmamız gerekli mi[/b]
[b]Binary ve Soap Formatterlar için bir sınıf eklemesi yapmak lazım mı?[/b]

Yukarı Git