Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }