WriteContentToStreamAsync() public method

public WriteContentToStreamAsync ( Stream stream ) : System.Threading.Tasks.Task
stream Stream
return System.Threading.Tasks.Task
Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }