Remoting的实质就是远程对象的调用,就是调用另一台机器的某个对象,那么第一步当然就是将对象序列化,这样才能在网络中传输。那么肯定就有2种方式来传递,一是将对象序列化为二进制形式,通过TCP协议来传输;二是序列化为XML格式,通过http/soap来传输。这是学习Remoting的必备条件。
序列化为二进制:
// create a file stream to write the file
FileStream fileStream = new FileStream("DoSum.bin", FileMode.Create);
// use the CLR binary formatter
BinaryFormatter binaryFormatter = new BinaryFormatter();
// serialize to disk
binaryFormatter.Serialize(fileStream, sObj);
fileStream.Close();
序列化为XML:
// create a file stream to write the file
FileStream fileStream = new FileStream("DoSum.xml", FileMode.Create);
// use the CLR binary formatter
System.Xml.Serialization.XmlSerializer
formatter = new XmlSerializer(typeof(SumOf));
// serialize to disk
formatter.Serialize(fileStream, sObj);
fileStream.Close();
序列化为SOAP:
// create a file stream to write the file
FileStream fileStream = new FileStream("DoSum_Soap.xml", FileMode.Create);
// use the CLR binary formatter
SoapFormatter formatter = new SoapFormatter();
// serialize to disk
formatter.Serialize(fileStream, sObj);
fileStream.Close();
另外:Sumof类要标注为可序列化的,使用[Serializable]