public WriteContentToStreamAsync ( Stream stream ) : System.Threading.Tasks.Task | ||
stream | Stream | |
return | System.Threading.Tasks.Task |
public async Task Append(string streamName, byte[] data, long expectedStreamVersion = -1) { var path = new FileInfo(this.options.FileStream(options.MasterStreamName)); var streampath = this.options.FileStream(streamName); FileStream filestream; if (!path.Directory.Exists) { path.Directory.Create(); } if (!System.IO.File.Exists(path.FullName)) { filestream = System.IO.File.Open(path.FullName, FileMode.CreateNew, FileAccess.Write, FileShare.Write); } else { filestream = System.IO.File.Open(path.FullName, FileMode.Append, FileAccess.Write, FileShare.Write); } using (Stream s = filestream) { var record = new FileRecord(data, streamName, expectedStreamVersion + 1); await record.WriteContentToStreamAsync(s); } }
public async Task Append(string streamName, byte[] data, long expectedStreamVersion = -1) { var stream = this.options.AppendStream(streamName); if (stream.Position != stream.Length) { throw new Exception("Stream must be end of the stream in order to append."); } var record = new FileRecord(data, streamName, expectedStreamVersion + 1); await record.WriteContentToStreamAsync(stream); if (this.options.AfterAppend != null) { await this.options.AfterAppend(stream); } }
public async Task Append(string streamName, byte[] data, long expectedStreamVersion = -1) { var path = new FileInfo(this.options.FileStream(options.MasterStreamName)); var streampath = this.options.FileStream(streamName); FileStream filestream; if (!path.Directory.Exists) { path.Directory.Create(); } if (!System.IO.File.Exists(path.FullName)) { filestream = System.IO.File.Open(path.FullName, FileMode.CreateNew, FileAccess.Write, FileShare.Write); } else { filestream = System.IO.File.Open(path.FullName, FileMode.Append, FileAccess.Write, FileShare.Write); } using (Stream s = filestream) { var record = new FileRecord(data, streamName, expectedStreamVersion + 1); await record.WriteContentToStreamAsync(s); } }