/// <summary>把消息写入到数据流中</summary> /// <param name="stream">数据流</param> /// <param name="context">上下文</param> public virtual Boolean Write(Stream stream, Object context) { var fm = CreateFormatter(false); fm.Stream = stream; #if DEBUG if (fm is Binary) { (fm as Binary).EnableTrace(); } else { stream = new Ding.Log.TraceStream(stream); } fm.Log = Ding.Log.XTrace.Log; #endif return(fm.Write(this)); }
/// <summary>从数据流中读取消息</summary> /// <param name="stream">数据流</param> /// <param name="context">上下文</param> /// <returns>是否成功</returns> public virtual Boolean Read(Stream stream, Object context) { var fm = CreateFormatter(true); fm.Stream = stream; #if DEBUG if (fm is Binary) { (fm as Binary).EnableTrace(); } else { stream = new Ding.Log.TraceStream(stream); } fm.Log = Ding.Log.XTrace.Log; #endif Object obj = this; return(fm.TryRead(GetType(), ref obj)); }