public override void PreProcess(SurrogateManager surrogateManager) { Condition.PreProcess(surrogateManager); Body.PreProcess(surrogateManager); if (PostBody != null) { PostBody.PreProcess(surrogateManager); } }
static void Serialize <T>(T obj, Packet packet) { BinaryFormatter formatter = new BinaryFormatter(); formatter.SurrogateSelector = SurrogateManager.GetSurrogateSelector(); using (MemoryStream stream = new MemoryStream()) { formatter.Serialize(stream, obj); stream.Flush(); packet.Write(stream.GetBuffer()); } }
static T Deserialize <T>(Packet packet) { int length = packet.UnreadLength(); byte[] objBytes = packet.ReadBytes(length); BinaryFormatter formatter = new BinaryFormatter(); formatter.SurrogateSelector = SurrogateManager.GetSurrogateSelector(); using (MemoryStream stream = new MemoryStream()) { stream.Write(objBytes, 0, length); stream.Flush(); stream.Seek(0, SeekOrigin.Begin); T obj = (T)formatter.Deserialize(stream); return(obj); } }
public static IStorageManager CreateInstance(StateManager stateManager, SurrogateManager surrogateManager) { if (UseTestImpl) { return(obj ?? (obj = new TempDictStorageManager())); } else { var sessionMode = System.Web.HttpContext.Current.Session.Mode; if (sessionMode == System.Web.SessionState.SessionStateMode.InProc) { // A new object is needed each time, otherwise when having more than 1 user and a static StorageManager the single cache for the session keys would be shared among all the active users. return(new SessionStorageManagerInproc(stateManager, surrogateManager)); } else { return(new SessionStorageManager(stateManager, surrogateManager)); } } }