Csharp/C Sharp/Web Services/SOAP

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

illustrates SOAP serialization

<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110

  • /
/*
 Example15_19.cs illustrates SOAP serialization
  • /

using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Soap; // the Customer class gives us something to serialize [Serializable] class Customer {

 // some private data members
 private int CustomerNumber;
 private string CustomerName;
 private string CustomerCountry;
 // the WriteCustomer method formats info to the screen
 public void WriteCustomer()
 {
   Console.WriteLine("Customer Number: " + this.CustomerNumber);
   Console.WriteLine("Customer Name: " + this.CustomerName);
   Console.WriteLine("Customer Country: " + this.CustomerCountry);
 }
 // the constructor accepts all the info to create a customer
 public Customer(
   int newCustomerNumber, 
   string newCustomerName, 
   string newCustomerCountry)
 {
   this.CustomerNumber = newCustomerNumber;
   this.CustomerName = newCustomerName;
   this.CustomerCountry = newCustomerCountry;
 }

} public class Example15_20 {

 public static void Main() 
 {
   // create a new customer and dump to screen
   Customer MyCustomer = new Customer(1, "X Corporation", "France");
   MyCustomer.WriteCustomer();
   // Create a FileStream to hold the serialized customer
   FileStream serializeStream = new FileStream("c:\\MyCustomer.xml", 
     FileMode.Create);
   // use SOAP formatting
   SoapFormatter sf = new SoapFormatter();
   // serialize the object
   sf.Serialize(serializeStream, MyCustomer);
   serializeStream.Flush();
   serializeStream.Close();
   // retrieve the serialized version to a second object and dump that
   FileStream retrieveStream = new FileStream("c:\\MyCustomer.xml",
     FileMode.Open);
   Customer NewCustomer = (Customer) sf.Deserialize(retrieveStream);
   NewCustomer.WriteCustomer();
 }

}


      </source>