<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FFile_Stream%2FSerialization_SOAP</id>
		<title>Csharp/C Sharp/File Stream/Serialization SOAP - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FFile_Stream%2FSerialization_SOAP"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/File_Stream/Serialization_SOAP&amp;action=history"/>
		<updated>2026-04-29T19:01:04Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/File_Stream/Serialization_SOAP&amp;diff=1282&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/File_Stream/Serialization_SOAP&amp;diff=1282&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/File_Stream/Serialization_SOAP&amp;diff=1283&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/File_Stream/Serialization_SOAP&amp;diff=1283&amp;oldid=prev"/>
				<updated>2010-05-26T11:45:33Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Serialize Class to Soap message==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Runtime.Serialization;&lt;br /&gt;
using System.Runtime.Serialization.Formatters.Soap;&lt;br /&gt;
public class Serializer {&lt;br /&gt;
  public static void Main(string [] args) {&lt;br /&gt;
    StudentList personnel = CreateStudentList();&lt;br /&gt;
    IFormatter soapFormatter = new SoapFormatter();&lt;br /&gt;
    using (FileStream stream = File.OpenWrite(&amp;quot;StudentListSoap.xml&amp;quot;)) {&lt;br /&gt;
      soapFormatter.Serialize(stream,personnel);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private static StudentList CreateStudentList() {&lt;br /&gt;
    StudentList personnel = new StudentList();&lt;br /&gt;
    personnel.Students = new Employee [] {new Employee()};&lt;br /&gt;
    personnel.Students[0].FirstName = &amp;quot;Apple&amp;quot;;&lt;br /&gt;
    personnel.Students[0].MiddleInitial = &amp;quot;M&amp;quot;;&lt;br /&gt;
    personnel.Students[0].LastName = &amp;quot;Bear&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    personnel.Students[0].Addresses = new Address [] {new Address()};&lt;br /&gt;
    personnel.Students[0].Addresses[0].AddressType = AddressType.Home;&lt;br /&gt;
    personnel.Students[0].Addresses[0].Street = new string [] {&amp;quot;Culloden&amp;quot;};&lt;br /&gt;
    personnel.Students[0].Addresses[0].City = &amp;quot;Vancouver&amp;quot;;&lt;br /&gt;
    personnel.Students[0].Addresses[0].State = State.BC;&lt;br /&gt;
    personnel.Students[0].Addresses[0].Zip = &amp;quot;V5V 4X7&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    personnel.Students[0].StartDate = new DateTime(2006,10,12);&lt;br /&gt;
    &lt;br /&gt;
    return personnel;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
[Serializable]&lt;br /&gt;
public enum AddressType {&lt;br /&gt;
  Home,&lt;br /&gt;
  Office&lt;br /&gt;
}&lt;br /&gt;
[Serializable]&lt;br /&gt;
public enum State {&lt;br /&gt;
  BC, ON&lt;br /&gt;
}&lt;br /&gt;
[Serializable]&lt;br /&gt;
public class Address {&lt;br /&gt;
  public AddressType AddressType;&lt;br /&gt;
  public string[] Street;&lt;br /&gt;
  public string City;&lt;br /&gt;
  public State State;&lt;br /&gt;
  public string Zip;&lt;br /&gt;
}&lt;br /&gt;
[Serializable]&lt;br /&gt;
public class TelephoneNumber {&lt;br /&gt;
  public string AreaCode;&lt;br /&gt;
  public string Exchange;&lt;br /&gt;
  public string Number;&lt;br /&gt;
}&lt;br /&gt;
[Serializable]&lt;br /&gt;
public class Employee {&lt;br /&gt;
  public string FirstName;&lt;br /&gt;
  public string MiddleInitial;&lt;br /&gt;
  public string LastName;&lt;br /&gt;
  public Address [] Addresses;&lt;br /&gt;
  public TelephoneNumber [] TelephoneNumbers;&lt;br /&gt;
  public DateTime StartDate;&lt;br /&gt;
}&lt;br /&gt;
[Serializable]&lt;br /&gt;
public class StudentList {&lt;br /&gt;
  public Employee [] Students;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Serialize to SOAP based XML file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
    using System;&lt;br /&gt;
  using System.IO;&lt;br /&gt;
  using System.Runtime.Serialization.Formatters.Binary;&lt;br /&gt;
  using System.Runtime.Serialization.Formatters.Soap;&lt;br /&gt;
  &lt;br /&gt;
    public class RoomApp&lt;br /&gt;
    {&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
      // Make a room and listen to the tunes.&lt;br /&gt;
      Console.WriteLine(&amp;quot;Made a My Room...&amp;quot;);&lt;br /&gt;
      MyRoom myAuto = new MyRoom(&amp;quot;My&amp;quot;, 50, false, true);&lt;br /&gt;
      myAuto.TurnOnRadio(true);&lt;br /&gt;
      myAuto.GoUnderWater();&lt;br /&gt;
      // Save the same room into SOAP format.&lt;br /&gt;
      Console.WriteLine(&amp;quot;Now saving room to XML file&amp;quot;);&lt;br /&gt;
      FileStream myStream = File.Create(&amp;quot;RoomData.xml&amp;quot;);&lt;br /&gt;
      SoapFormatter myXMLFormat = new SoapFormatter();&lt;br /&gt;
      myXMLFormat.Serialize(myStream, myAuto);&lt;br /&gt;
      myStream.Close();&lt;br /&gt;
      // Read in the Room from the XML file.&lt;br /&gt;
      Console.WriteLine(&amp;quot;Reading room from XML file.&amp;quot;);&lt;br /&gt;
      myStream = File.OpenRead(&amp;quot;RoomData.xml&amp;quot;);&lt;br /&gt;
      MyRoom roomFromXML = (MyRoom)myXMLFormat.Deserialize(myStream);&lt;br /&gt;
      Console.WriteLine(roomFromXML.PetName + &amp;quot; is alive!&amp;quot;);&lt;br /&gt;
      roomFromXML.TurnOnRadio(true);&lt;br /&gt;
      myStream.Close();&lt;br /&gt;
      &lt;br /&gt;
    }&lt;br /&gt;
    }  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  [Serializable]&lt;br /&gt;
    public class Radio&lt;br /&gt;
    {&lt;br /&gt;
    [NonSerialized]&lt;br /&gt;
    private int objectIDNumber = 9;&lt;br /&gt;
        public Radio(){}&lt;br /&gt;
    public void On(bool state)&lt;br /&gt;
    {&lt;br /&gt;
      if(state == true)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Music is on...&amp;quot;);&lt;br /&gt;
      else&lt;br /&gt;
        Console.WriteLine(&amp;quot;No tunes...&amp;quot;);        &lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  [Serializable]&lt;br /&gt;
    public class Room&lt;br /&gt;
    {&lt;br /&gt;
    protected string petName;&lt;br /&gt;
    protected int maxInternetSpeed;&lt;br /&gt;
    protected Radio theRadio = new Radio();&lt;br /&gt;
        public Room(string petName, int maxInternetSpeed)&lt;br /&gt;
        {&lt;br /&gt;
      this.petName = petName;&lt;br /&gt;
      this.maxInternetSpeed = maxInternetSpeed;&lt;br /&gt;
        }&lt;br /&gt;
    public Room() {}&lt;br /&gt;
    public String PetName&lt;br /&gt;
    {&lt;br /&gt;
      get { return petName; }&lt;br /&gt;
      set { petName = value; }&lt;br /&gt;
    }&lt;br /&gt;
    public int MaxInternetSpeed&lt;br /&gt;
    {&lt;br /&gt;
      get { return maxInternetSpeed; }&lt;br /&gt;
      set { maxInternetSpeed = value; }&lt;br /&gt;
    }&lt;br /&gt;
    public void TurnOnRadio(bool state)&lt;br /&gt;
    {&lt;br /&gt;
      theRadio.On(state);&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  [Serializable]&lt;br /&gt;
    public class MyRoom : Room&lt;br /&gt;
    {&lt;br /&gt;
    protected bool isFlightWorthy;&lt;br /&gt;
    protected bool isSeaWorthy;&lt;br /&gt;
    public MyRoom(string petName, int maxInternetSpeed, &lt;br /&gt;
              bool canFly, bool canSubmerge)&lt;br /&gt;
      : base(petName, maxInternetSpeed)&lt;br /&gt;
        {&lt;br /&gt;
      this.isFlightWorthy = canFly;&lt;br /&gt;
      this.isSeaWorthy = canSubmerge;&lt;br /&gt;
    }&lt;br /&gt;
    public MyRoom(){}&lt;br /&gt;
    public void Fly()&lt;br /&gt;
    {&lt;br /&gt;
      if(isFlightWorthy)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Taking off!&amp;quot;);&lt;br /&gt;
      else&lt;br /&gt;
        Console.WriteLine(&amp;quot;Falling off cliff!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    public void GoUnderWater()&lt;br /&gt;
    {&lt;br /&gt;
      if(isSeaWorthy)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Diving....&amp;quot;);&lt;br /&gt;
      else&lt;br /&gt;
        Console.WriteLine(&amp;quot;Drowning!!!&amp;quot;);      &lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use SoapFormatter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Runtime.Serialization.Formatters.Soap;&lt;br /&gt;
using System.Runtime.Serialization.Formatters.Binary;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    private static void BinarySerialize(ArrayList list)&lt;br /&gt;
    {&lt;br /&gt;
        using (FileStream str = File.Create(&amp;quot;people.bin&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            BinaryFormatter bf = new BinaryFormatter();&lt;br /&gt;
            bf.Serialize(str, list);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static ArrayList BinaryDeserialize()&lt;br /&gt;
    {&lt;br /&gt;
        ArrayList people = null;&lt;br /&gt;
        using (FileStream str = File.OpenRead(&amp;quot;people.bin&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            BinaryFormatter bf = new BinaryFormatter();&lt;br /&gt;
            people = (ArrayList)bf.Deserialize(str);&lt;br /&gt;
        }&lt;br /&gt;
        return people;&lt;br /&gt;
    }&lt;br /&gt;
    private static void SoapSerialize(ArrayList list)&lt;br /&gt;
    {&lt;br /&gt;
        using (FileStream str = File.Create(&amp;quot;people.soap&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            SoapFormatter sf = new SoapFormatter();&lt;br /&gt;
            sf.Serialize(str, list);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static ArrayList SoapDeserialize()&lt;br /&gt;
    {&lt;br /&gt;
        ArrayList people = null;&lt;br /&gt;
        using (FileStream str = File.OpenRead(&amp;quot;people.soap&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            SoapFormatter sf = new SoapFormatter(); &lt;br /&gt;
            people = (ArrayList)sf.Deserialize(str);&lt;br /&gt;
        }&lt;br /&gt;
        return people;&lt;br /&gt;
    }&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        ArrayList people = new ArrayList();&lt;br /&gt;
        people.Add(&amp;quot;G&amp;quot;);&lt;br /&gt;
        people.Add(&amp;quot;L&amp;quot;);&lt;br /&gt;
        people.Add(&amp;quot;A&amp;quot;);&lt;br /&gt;
        BinarySerialize(people);&lt;br /&gt;
        SoapSerialize(people);&lt;br /&gt;
        ArrayList binaryPeople = BinaryDeserialize();&lt;br /&gt;
        ArrayList soapPeople = SoapDeserialize();&lt;br /&gt;
        Console.WriteLine(&amp;quot;Binary people:&amp;quot;);&lt;br /&gt;
        foreach (string s in binaryPeople)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;\t&amp;quot; + s);&lt;br /&gt;
        }&lt;br /&gt;
        Console.WriteLine(&amp;quot;\nSOAP people:&amp;quot;);&lt;br /&gt;
        foreach (string s in soapPeople)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;\t&amp;quot; + s);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>