public void Serialize(ObjectWriter writer, object value) { var items = value as SessionStateItemCollection; writer.InnerWrite(items.Count); foreach(string name in items.Keys) { writer.Serialize(name); writer.Serialize(items[name]); } }
public static void WriteValueTypeObject(this ObjectWriter writer, object value) { writer.InnerWriteObject(new Aoite.Reflection.Emitter.ValueTypeHolder(value) , value.GetType() , FormatterTag.ValueTypeObject); }
public static void WriteObjectArray(this ObjectWriter writer, object[] value) { writer.WriteTag(FormatterTag.ObjectArray); writer.InnerWrite(value); }
public static void WriteObject(this ObjectWriter writer, object value, Type type) { writer.InnerWriteObject(value , type , FormatterTag.Object); }
public static void WriteResult(this ObjectWriter writer, Result value) { writer.WriteTag(FormatterTag.Result); writer.InnerWrite(value._Status); writer.WriteStringOrReference(value._Message); }
public static void WriteGConcurrentDictionary(this ObjectWriter writer, IDictionary value, Type type) { WriteGDictionary(writer, FormatterTag.GConcurrentDictionary, value, type); }
public static void WriteSuccessfullyResult(this ObjectWriter writer) { writer.Stream.WriteByte((byte)FormatterTag.SuccessfullyResult); }
public static void WriteChar(this ObjectWriter writer, Char value) { writer.InnerWrite(FormatterTag.Char, BitConverter.GetBytes(value)); }
public static void WriteType(this ObjectWriter writer, Type value) { writer.WriteTag(FormatterTag.Type); writer.InnerWrite(value); }
public static void WriteDBNull(this ObjectWriter writer) { writer.WriteTag(FormatterTag.DBNull); }
public static void WriteTimeSpan(this ObjectWriter writer, TimeSpan value) { writer.InnerWrite(FormatterTag.TimeSpan, BitConverter.GetBytes(value.Ticks)); }
public static void WriteDateTime(this ObjectWriter writer, DateTime value) { writer.InnerWrite(FormatterTag.DateTime, BitConverter.GetBytes(value.ToBinary())); }
public static void WriteBoolean(this ObjectWriter writer, Boolean value) { writer.WriteTag(FormatterTag.Boolean); writer.Stream.WriteByte((value ? (byte)1 : (byte)0)); }
public static void WriteTag(this ObjectWriter writer, FormatterTag value) { writer.Stream.WriteByte((byte)value); }
private static void WriteGDictionary(ObjectWriter writer, FormatterTag tag, IDictionary value, Type type) { writer.WriteTag(tag); var genericArguments = type.GetGenericArguments(); writer.InnerWrite(genericArguments[0]); writer.InnerWrite(genericArguments[1]); writer.InnerWrite(value.Count); foreach(DictionaryEntry item in value) { writer.Serialize(item.Key); writer.Serialize(item.Value); } }
public static void WriteGuid(this ObjectWriter writer, Guid value) { writer.InnerWrite(FormatterTag.Guid, value.ToByteArray()); }
public static void WriteStringBuilder(this ObjectWriter writer, StringBuilder value) { writer.WriteTag(FormatterTag.StringBuilder); writer.WriteStringOrReference(value.ToString()); }