public async Task Foo() { using (IAsyncFilesSession session = null) { #region register_delete_2 session.RegisterFileDeletion("/movies/intro.avi"); session.RegisterFileDeletion(await session.LoadFileAsync("/txt/1.txt")); await session.SaveChangesAsync(); #endregion } using (IAsyncFilesSession session = null) { #region register_deletion_query_2 session.RegisterDeletionQuery("__rfileName:tfard.*"); await session.SaveChangesAsync(); #endregion #region register_deletion_query_3 session.Query() .WhereEndsWith(x => x.Name, ".draft") .RegisterResultsForDeletion(); await session.SaveChangesAsync(); #endregion } }
private async Task DeleteTask(Guid scenarioId, string fileId) { var uploadFilePath = GetUploadFilePath(scenarioId, fileId, _compression); _session.RegisterFileDeletion(uploadFilePath); await _session.SaveChangesAsync().ConfigureAwait(false); // actually upload the file }
public async Task Foo() { using (var store = new FilesStore()) { Stream content = new MemoryStream(); Stream newContent = new MemoryStream(); #region optimistic_concurrency_1 using (IAsyncFilesSession session = store.OpenAsyncSession()) { session.Advanced.UseOptimisticConcurrency = true; session.RegisterUpload("ravendb.exe", content, new RavenJObject { { "Copyright", "hibernatingrhinos.com" } }); await session.SaveChangesAsync(); using (IAsyncFilesSession otherSession = store.OpenAsyncSession()) { FileHeader fileInOtherSession = await otherSession.LoadFileAsync("ravendb.exe"); fileInOtherSession.Metadata["Copyright"] = "Hibernating Rhinos LTD"; await otherSession.SaveChangesAsync(); } FileHeader file = await session.LoadFileAsync("ravendb.exe"); session.RegisterUpload(file, newContent); await session.SaveChangesAsync(); // will throw ConcurrencyException } #endregion #region optimistic_concurrency_2 store.Conventions.DefaultUseOptimisticConcurrency = true; using (IAsyncFilesSession session = store.OpenAsyncSession()) { bool isSessionUsingOptimisticConcurrency = session.Advanced.UseOptimisticConcurrency; // will return true } #endregion #region optimistic_concurrency_3 using (IAsyncFilesSession session = store.OpenAsyncSession()) { FileHeader file = await session.LoadFileAsync("git.exe"); session.RegisterFileDeletion(file, file.Etag); await session.SaveChangesAsync(); } #endregion } }
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 }