SensiZOlmuyoR.org  
Geri git   SensiZOlmuyoR.org > Pc - Bilgisayar > Programlama > C ve C++

 
Ücretsiz Siteye Üye Olmak için Tıklayın !!

Uyarılar

SensizOlmuyor.oRg Ailesi olarak dosya ve resim uploadlarınız için www.upload.gen.tr sitesini öneriyoruz!
Cevapla
 
LinkBack Konu Araçları Stil
Eski 07-02-2008, 21:27   #1 (permalink)
Süper Mod
 
WaMPiR_CaDı - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 21-11-2007
Nerden: ewden(:
Mesajlar: 5.971
Konular: 3047
Üye No: 11341
Ruh halim:
Rep Gücü : 394
Rep Puanı : 7406
Rep Seviyesi : WaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond reputeWaMPiR_CaDı has a reputation beyond repute


yasaksiz youtube
Standart C# ile SERİALİZATİON


Serialization; bir nesne içinde bulunan veri içeriğinin bit türünden formatlanarak depolama aygıtına kaydedilmesi işlemine denir. Kaydedilen bu verinin tekrar orijinal formatta bize döndürülmesi için yapılan çağırma işlemine de Deserialization denir

.

.Net Framework serialization için üç metod sunmaktadır.

· Binary Serialization

· XML Serialization ve SOAP Serialization’dır.


Xml serialization bir Windows uygulamasının hem Net ortamında hem de Windows ortamında çalışmasını sağladığı gibi tüm işletim sistemlerince kolayca ulaşılmasına da imkan sağlar.System.Xml.serialization ad uzayından erişilir.


Xml serialization; bir nesnenin veri içeriğini bir serverden uzakta bulunan başka bir servera taşınmasına imkan sağlar. Veri içeriğini xml formatta tutar fakat içerik deserialize edildiği zaman orijinal formatta bize döner. Xml serializationın da yetersiz kaldığı durumlar vardır. Mesela private değişkenler, metodların serialization işlemini desteklemez. İşte xml’in yetersiz kaldığı durumlarda devreye SOAP girmektedir.


SOAP (Simple Object Access Protocol) Dağıtık,tek merkezde olmayan uygulamaların kullanıldıkları yada farklı bir formlarda aynı dilde kullanılmasını sağlayarak bir standart oluşturmayı amaçlamaktadır. Ayrıca RPC (Remote Protocol Call) modelini kullarak web serverler arasında haberleşmeyi sağlar. SOAP’ı güçlü kılan xml üzerine kurulu olması ve http de yararlanmasıdır. SOAP Mesaj protokolü olarak XML, transfer protokolü olarak da HTTP yi kullanmaktadır. Ama güvenlik ayrıca ele alınması gereken bir konudur. Xml ve SOAP Serialization ilerde daha ayrıntılı olarak anlatılacaktır.


Bu makalede Binary Serialization ve Deserializationı anlatmaya çalışacağım. Serialization işleşimini gerçekleştirmek için System.Runtime.Serialization isim uzayının sağladığı sınıf ve araçlarından yararlanırız.Binary serialization içinde System.Runtime.Serialization .Formatters.Binary isim uzayından ulaşılır.

[Serializable()] kullanılarak class içeriği serialize edilir.ISerializable interfaceni implement ediyoruz. Yapılan implement ile kullanıcıyı SerializationInfo ve GetObjectData() kullanımına zorlamaktadır. Aşağıdaki GetObjectData() yerine başka bir isim verirseniz uygulama çalışmadığını göreceksiniz.


Şimdi Binary Serialization ile ilgili bir örnek yapalım. “Personel” isimde bir class oluşturup, serialization işlemine başlayalım.


using System;

using System.IO;

using System.Runtime.Serialization;

using System.Runtime.Serialization.Formatters.Binary;


namespace Serialization

{

[Serializable()]//Burada tüm classımızı serialize edelim.

public class Personel : ISerializable//ISerializable interface’ni implement ediyoruz.

{

public int PersonelID;

public string PersonelAd;

//Varsıyalın Koşulumuz…

public Personel()

{

PersonelID = 0;

PersonelAd = null;

}

//Deserialization koşulu

public Personel(SerializationInfo info, StreamingContext ctx)

{

// Info'dan değer alınır ve uygun özellik verilir

PersonelID = (int)info.GetValue("Per_ID", typeof(int));

PersonelAd = (string)info.GetValue("PersonelAd", typeof(string));

}

//Serialization fonksiyonu

public void GetObjectData(SerializationInfo info, StreamingContext ctx)

{

//name-value ikilisi için herhangi bir isim kulanabilirsiniz. Eğer Cal_ID yazdıysanız diğeri "CalisanID"olmalı...

//Serialization koşulu “Per_ID” içinde tutulacak…

info.AddValue("Per_ID", PersonelID);

info.AddValue("PersonelAd", PersonelAd);

}

static void Main(string[] args)

{

//Yeni bir Personel instance oluşturuyoruz.

Personel cls = new Personel();

cls.PersonelID = 5;

cls.PersonelAd = "Hüseyin";

}

static void Main(string[] args)

{

//Yeni bir Calisan instance oluşturuyoruz.

Personel cls = new Personel();

cls.PersonelID = 5;

cls.PersonelAd = "Hüseyin";

//Serialization için asagidaki kodlari yaziyoruz....

//Bir dosya açmak ve binary format ile nesneyi dizi haline getirmek

//Calisaninfo.doc.isminde bir dosya oluşturacağız.


Stream stream = File.Open("CalisanInfo.doc", FileMode.Create);

BinaryFormatter format = new BinaryFormatter();

Console.WriteLine("Serialization işlemini başlat. ");

format.Serialize(stream, cls);

stream.Close();

//Oluşturulan dosyaya My Documents\Visual Studio2005\ Projects\ Serialization\ Serialization\bin\Debug\Calisaninfo.doc içinde ulaşabilirsiniz.

Dosyayı doc uzantılı oluşturdum ki içeriğine erişebilesiniz.


//Deserialization işlemi için aşağıdaki kodlar kullanılır.

cls = null;

stream = File.Open("CalisanInfo.doc", FileMode.Open);

format = new BinaryFormatter();

Console.WriteLine("Deserialization işlemine başla.!");

cls = (Personel)format.Deserialize(stream);

stream.Close();

Console.WriteLine("CalisanID:{0}", cls.PersonelID.ToString());

Console.WriteLine("calisanismi:{0}", cls.PersonelAd);

Console.Read();

}

}

}


Binary Serialization işlemini gerçekleştirmiş bulunmaktayız....
__________________
BeLqide bu dünya başqa bir gezegenin cehennemidir..!!?

SEN GİDİNCE YALNIZ KALACAĞIM.YALNIZLIKTAN KORKMUYORUM DA YA CANIM ELLERİNİ TUTMAK İSTERSE..


SiLemıyosaN KaRaLayacaksıN...GideRkeN Kaç Kere BaktıN ArkaNa?

!..... Wayyy Beee!!! İçimizdeki Çocuk Da Gayrı Meşru Çıktı .....!

Mrs. Wampir€


SensizOlmuyor.oRg Ailesi olarak dosya ve resim uploadlarınız için www.upload.gen.tr sitesini öneriyoruz!
WaMPiR_CaDı isimli üye çevrimiçidir (Online)  
Bu Mesajı Google'a Ekle!Bu Mesajı FaceBook'da Paylaş!
Alıntı ile Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz!


Konu Araçları
Stil

Yetkileriniz
Konu Açma Yetkiniz Yok
Mesaj Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Tüm Saatler GMT +3. Şuan Saat: 17:14 .
(Türkiye için GMT +2 seçilmelidir.)


Powered by vBulletin Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
www.SensiZOlmuyoR.org © 2007 - 2008


* Metin2 * Trendy Bayan