Serialization is one of the concepts, that is always intriguing to developers.
One of my coworker, was trying to move the in process session state management into an out of proc session state service. We were getting some exceptions during the transition, of course when objects need to be persisted in a session, they have to serializable and more than that, if it is an aggregated object (object which may have multiple objects encapsulated in it) then a null check should be performed on each object in the serialization / deserialization method definitions.
VB.NET
Public Overrides Sub GetObjectData(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal...