Interview Tips Interview Tips, Interview Questions and Answers

15May/100

.NET Object Serialization – Difference between the SoapFormatter and the XmlSerializer

What is the difference between the SoapFormatter and the XmlSerializer?

SoapFormatter

SOAP formatter will actually take the field values of an object and store all of that information in the stream passed.

SoapFormatter is better to serialize arbitrary data

XmlSerializer

XML Serialization would just serialize the public properties of an object.

The XML Serializer is used typically for serializing simple types across web services

xmlserializer is better, more flexible and faster

14May/100

.NET Object Serialization – How do you encapsulate the binary serialization?

How do you encapsulate the binary serialization?

public static void SerializeBinary( object o, string file_name)
{
using (FileStream fs = new FileStream(file_name, FileMode.Create)) {
BinaryFormatter fmt = new BinaryFormatter ();
fmt.Serialize(fs, o);
}
}

How do you implement a custom serialization?

CUSTOM SERIALIZATION implementation
public class A: ISerializable
{
private int a;
protected A(SerializationInfo si, StreamingContext sc)
{
this.a = serializationInfo.GetInt32("a");
}
public void ISerializable.GetObjectData(SerializationInfo si, StreamingContext sc)
{
si.AddValue("a", this.a);
}
}

21Apr/100

.NET interview: What is the difference between the SoapFormatter and the XmlSerializer

SoapFormatter

SOAP formatter will actually take the field values of an object and store all of that information in the stream passed.

SoapFormatter is better to serialize arbitrary data

XmlSerializer

XML Serialization would just serialize the public properties of an object.

The XML Serializer is used typically for serializing simple types across web services

xmlserializer is better, more flexible and faster

20Apr/100

.NET interview: Questions on serialization

How do you encapsulate the binary serialization?

public static void SerializeBinary( object o, string file_name)
{
using (FileStream fs = new FileStream(file_name, FileMode.Create)) {
BinaryFormatter fmt = new BinaryFormatter ();
fmt.Serialize(fs, o);
}
}

How do you implement a custom serialization?

CUSTOM SERIALIZATION implementation
public class A: ISerializable
{
private int a;
protected A(SerializationInfo si, StreamingContext sc)
{
this.a = serializationInfo.GetInt32("a");
}
public void ISerializable.GetObjectData(SerializationInfo si, StreamingContext sc)
{
si.AddValue("a", this.a);
}
}