/// <summary> /// 异步读 /// </summary> /// <param name="stream">数据流</param> /// <param name="state">绑定用户对象</param> /// <param name="memoryStream">目标字节流</param> /// <returns>异步任务</returns> public static TmphStreamEndReader readToEndAsync(this Stream stream, object state, TmphMemoryStream memoryStream) { return new TmphStreamEndReader(stream, state, memoryStream); }
/// <summary> /// 数据流异步读 /// </summary> /// <param name="stream">数据流</param> /// <param name="state">绑定用户对象</param> /// <param name="memoryStream">目标字节流</param> public TmphStreamEndReader(Stream stream, object state, TmphMemoryStream memoryStream) { this.stream = stream; try { this.memoryStream = memoryStream ?? new TmphMemoryStream(); stream.BeginRead(this.memoryStream.Array, this.memoryStream.Length, this.memoryStream.Array.Length - this.memoryStream.Length, onRead, state); } catch (Exception error) { this.error = error; completed(); } }