コード例 #1
0
ファイル: RequestReader.cs プロジェクト: Daoting/dt
        /// <summary>
        /// 读取客户端请求流的下一帧数据
        /// </summary>
        /// <returns></returns>
        public async Task <bool> MoveNext()
        {
            try
            {
                _val = RpcKit.ParseBytes <object>(await RpcServerKit.ReadFrame(_invoker.Context.Request.BodyReader));
                return(true);
            }
            catch { }

            return(false);
        }
コード例 #2
0
ファイル: ResponseReader.cs プロジェクト: Daoting/dt
        /// <summary>
        /// 读取从服务器返回的下一帧数据
        /// </summary>
        /// <returns></returns>
        public async Task <bool> MoveNext()
        {
            try
            {
                // _responseStream.ReadAsync 使用 CancellationToken 也只有第一次取消时有效,所以未使用!
                // 此处只在服务端取消连接时抛出异常!
                var data = await RpcClientKit.ReadFrame(_responseStream);

                _val = RpcKit.ParseBytes <object>(data);
                return(true);
            }
            catch
            {
                Dispose();
            }
            return(false);
        }