/// <summary> /// 序列化数据 /// </summary> /// <param name="writer"></param> /// <param name="context"></param> public override void SerializeOwnedData(Serialization.SerializationWriter writer, object context) { base.SerializeOwnedData(writer, context); writer.WriteOptimized(ServiceClassName); writer.WriteOptimized(MethodName); writer.WriteOptimized(Parameters); }
/// <summary> /// 序列化消息体数据 /// </summary> /// <param name="writer"></param> /// <param name="context"></param> public virtual void SerializeOwnedData(Serialization.SerializationWriter writer, object context) { string MsgTypeName = this.GetType().Name; writer.WriteOptimized(MsgTypeName);//用于在外面根据类别创建实例 writer.WriteOptimized(this.MessageId); writer.WriteOptimized(this.RepliedMessageId); }
static byte[] SerializationMessage(Messages.ICJiaMessage Msg) { using (Serialization.SerializationWriter sw = new Serialization.SerializationWriter()) { Msg.SerializeOwnedData(sw, null); return(sw.ToArray()); } }
/// <summary> /// This method is used to serialize a IScsMessage to a byte array. /// This method can be overrided by derived classes to change serialization strategy. /// It is a couple with DeserializeMessage method and must be overrided together. /// </summary> /// <param name="message">Message to be serialized</param> /// <returns> /// Serialized message bytes. /// Does not include length of the message. /// </returns> protected virtual byte[] SerializeMessage(ICJiaMessage message) { using (Net.Serialization.SerializationWriter sw = new Serialization.SerializationWriter()) { message.SerializeOwnedData(sw, null); return(sw.ToArray()); } }
/// <summary> /// 序列化数据 /// </summary> /// <param name="writer"></param> /// <param name="context"></param> public override void SerializeOwnedData(Serialization.SerializationWriter writer, object context) { base.SerializeOwnedData(writer, context); writer.WriteObject(ReturnValue); bool hasException = RemoteException != null; writer.Write(hasException); if (hasException) { writer.WriteOptimized(RemoteException.Message); writer.WriteOptimized(RemoteException.Source); } }
/// <summary> /// 序列化数据 /// </summary> /// <param name="writer"></param> /// <param name="context"></param> public override void SerializeOwnedData(Serialization.SerializationWriter writer, object context) { base.SerializeOwnedData(writer, context); writer.Write(MessageData); }
/// <summary> /// 序列化数据 /// </summary> /// <param name="writer"></param> /// <param name="context"></param> public override void SerializeOwnedData(Serialization.SerializationWriter writer, object context) { base.SerializeOwnedData(writer, context); writer.WriteOptimized(Text); }