public async Task Foo() { IFilesStore store = null; #region session_usage_1 using (IAsyncFilesSession session = store.OpenAsyncSession()) { using (Stream content = File.OpenRead(@"C:\intro.avi")) { session.RegisterUpload("/movies/intro.avi", content); await session.SaveChangesAsync(); } } using (IAsyncFilesSession session = store.OpenAsyncSession()) { FileHeader file = await session.LoadFileAsync("/movies/intro.avi"); using (Stream content = await session.DownloadAsync(file.FullPath)) { /* ... */ } if (file.CreationDate < DateTime.Now.AddDays(-1)) { session.RegisterFileDeletion(file); } await session.SaveChangesAsync(); } #endregion using (IAsyncFilesSession session = store.OpenAsyncSession()) { #region unit_of_work_1 Assert.Same(await session.LoadFileAsync("/movies/intro.avi"), await session.LoadFileAsync("/movies/intro.avi")); #endregion } #region unit_of_work_2 using (IAsyncFilesSession session = store.OpenAsyncSession()) { FileHeader file = await session.LoadFileAsync("/movies/intro.avi"); file.Metadata.Add("Owner", "James"); await session.SaveChangesAsync(); // will sent the metadata update to the file system } #endregion }
public async Task Foo() { IFilesStore store = null; using (IAsyncFilesSession session = store.OpenAsyncSession()) { #region register_upload_3 using (Stream content = File.OpenRead(@"C:\intro.avi")) { session.RegisterUpload("/movies/intro.avi", content); await session.SaveChangesAsync(); } #endregion } using (IAsyncFilesSession session = store.OpenAsyncSession()) { #region register_upload_4 session.RegisterUpload("random.bin", 128, stream => { var bytes = new byte[128]; new Random().NextBytes(bytes); stream.Write(bytes, 0, 128); }); await session.SaveChangesAsync(); #endregion } using (IAsyncFilesSession session = store.OpenAsyncSession()) { #region register_upload_5 FileHeader ravenFile = await session.LoadFileAsync("/movies/intro.avi"); string localFile = @"C:\intro.avi"; if (ravenFile == null || new FileInfo(localFile).LastWriteTime - ravenFile.LastModified > TimeSpan.FromHours(1)) { using (Stream content = File.OpenRead(localFile)) { session.RegisterUpload(ravenFile, content); await session.SaveChangesAsync(); } } #endregion } }
public async Task Foo() { IFilesStore store = null; #region versioning_1 await store .AsyncFilesCommands .Configuration .SetKeyAsync( "Raven/Versioning/DefaultConfiguration", new FileVersioningConfiguration { Id = "Raven/Versioning/DefaultConfiguration", MaxRevisions = 10 }); #endregion #region versioning_2 await store .AsyncFilesCommands .Configuration .SetKeyAsync( "Raven/Versioning/documents/temp", new FileVersioningConfiguration { Id = "Raven/Versioning/documents/temp", Exclude = true }); #endregion #region versioning_3 await store .AsyncFilesCommands .Configuration .SetKeyAsync( "Raven/Versioning/documents/temp/drafts", new FileVersioningConfiguration { Id = "Raven/Versioning/documents/temp/drafts", Exclude = false, MaxRevisions = 5 }); #endregion #region versioning_4 using (var session = store.OpenAsyncSession()) { FileHeader[] revisions = await session .GetRevisionsForAsync( "/documents/temp/drafts/1.txt", start : 0, pageSize : 5); } #endregion }
private async Task InitializeRandomFile(IFilesStore store, string name, int size) { using (var session = store.OpenAsyncSession()) { session.RegisterUpload(name, CreateRandomFileStream(size)); await session.SaveChangesAsync(); } }
public void UploadPreviewFile(PreviewFile previewFile, Stream previewFileStream) { if (previewFileStream == null) { return; } var metadata = new RavenJObject() { { "XG-File-Id", RavenJToken.FromObject(previewFile.Id) }, { "XG-File-Name", RavenJToken.FromObject(previewFile.FileName) }, { "XG-File-Extension", RavenJToken.FromObject(previewFile.FileExtension) }, { "XG-Content-Type", RavenJToken.FromObject(previewFile.ContentType) }, { "XG-Content-Length", RavenJToken.FromObject(previewFile.ContentLength) } }; using (var session = _filesStore.OpenAsyncSession()) { session.Commands.UploadAsync(previewFile.Id, previewFileStream, metadata).Wait(); } }
private async Task InitializeRandomFile(IFilesStore store, string name, int size) { using (var session = store.OpenAsyncSession()) { session.RegisterUpload(name, CreateRandomFileStream(size)); await session.SaveChangesAsync(); } }
public void SessionLifecycle() { var store = (FilesStore)filesStore; using (var session = filesStore.OpenAsyncSession()) { Assert.NotNull(session.Advanced); Assert.True(session.Advanced.MaxNumberOfRequestsPerSession == 30); Assert.False(string.IsNullOrWhiteSpace(session.Advanced.StoreIdentifier)); Assert.Equal(filesStore, session.Advanced.FilesStore); Assert.Equal(filesStore.Identifier, session.Advanced.StoreIdentifier.Split(';')[0]); Assert.Equal(store.DefaultFileSystem, session.Advanced.StoreIdentifier.Split(';')[1]); } store.Conventions.MaxNumberOfRequestsPerSession = 10; using (var session = filesStore.OpenAsyncSession()) { Assert.True(session.Advanced.MaxNumberOfRequestsPerSession == 10); } }