/// <summary>
        /// Occurs after the action method is invoked.
        /// </summary>
        /// <param name="context">The context for the action.</param>
        public void OnActionExecuted(
            HttpActionExecutedContext context)
        {
            if (context.Exception != null)
            {
                return;
            }

            if (_session != null)
            {
                if (_session.Advanced.NumberOfRequests > 30)
                {
                    Debug.WriteLine("Number of recommended (30) remote call requests have been exceeded");
                }

                lock (_session)
                {
                    _session.SaveChanges();
                    _session.Advanced.Clear();
                    _session.Dispose();
                }
            }

            if (_asyncSession != null)
            {
                _asyncSession.SaveChangesAsync();
                _asyncSession.Advanced.Clear();
                _asyncSession.Dispose();
            }
        }
예제 #2
0
 private void Dispose(bool disposing)
 {
     if (disposing)
     {
         _session?.Dispose();
     }
 }
예제 #3
0
        // Dispose

        protected void Dispose(bool disposing)
        {
            if (_disposeDocumentSession && disposing && _documentSession != null)
            {
                _documentSession.Dispose();
            }
        }
예제 #4
0
        private void BeginRefreshIndexes(IAsyncDocumentSession session)
        {
            IsBusy = true;

            session.Advanced.AsyncDatabaseCommands
            .GetStatisticsAsync()
            .ContinueOnSuccess(x => RefreshIndexes(x.Result.CountOfIndexes))
            .ContinueWith(task => session.Dispose());
        }
예제 #5
0
        public void Dispose(bool disposing)
        {
            if (disposing && _documentSession != null)
            {
                _documentSession.Dispose();
            }

            _disposed        = true;
            _documentSession = null;
        }
예제 #6
0
 private void CheckSession()
 {
     lock (_lockObject)
     {
         if (_documentSession != null)
         {
             if (HasMaxRequestSent)
             {
                 Commit();
                 _documentSession.Dispose();
             }
             else
             {
                 return;
             }
         }
         CreateSession();
     }
 }
예제 #7
0
        public void ReleaseSession()
        {
            if (session == null)
            {
                return;
            }

            session.Dispose();
            session = null;
        }
예제 #8
0
        private bool _disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!_disposedValue)
            {
                if (disposing)
                {
                    _session?.Dispose();
                }
                _disposedValue = true;
            }
        }
예제 #9
0
        public void Dispose()
        {
            if (_session != null)
            {
                _session.SaveChangesAsync().GetAwaiter().GetResult();
                _session.Dispose();
            }

            Dispose(true);
            GC.SuppressFinalize(this);
        }
예제 #10
0
        public void Dispose()
        {
            if (session != null)
            {
                session.Dispose();
            }

            if (asyncSession != null)
            {
                asyncSession.Dispose();
            }
        }
예제 #11
0
        private bool _disposedValue = false; // To detect redundant calls

        protected override void Dispose(bool disposing)
        {
            if (!_disposedValue)
            {
                if (disposing)
                {
                    _session?.Dispose();
                }
                _disposedValue = true;
            }
            base.Dispose(disposing);
        }
예제 #12
0
 protected virtual void Dispose(bool disposing)
 {
     if (!_disposed)
     {
         _disposed = true;
         if (disposing)
         {
             _documentSession?.Dispose();
             _asyncDocumentSession?.Dispose();
         }
     }
 }
예제 #13
0
 public void TestCleanup()
 {
     if (_session != null)
     {
         _session.Dispose();
         _session = null;
     }
     if (_documentStore != null)
     {
         _documentStore.Dispose();
         _documentStore = null;
     }
 }
예제 #14
0
        public async Task It_should_return_configured_session()
        {
            DocumentStore         documentStore = null;
            IAsyncDocumentSession session       = null;

            try
            {
                documentStore = ConfigureEndpointRavenDBPersistence.GetDocumentStore();
                session       = documentStore.OpenAsyncSession();

                RavenSessionTestContext context =
                    await Scenario.Define <RavenSessionTestContext>()
                    .WithEndpoint <SharedRavenSessionExtensions>(b =>
                                                                 b.CustomConfig(config =>
                {
                    config.UsePersistence <RavenDBPersistence>().UseSharedAsyncSession(_ => session);
                })
                                                                 .When((bus, c) =>
                {
                    var sendOptions = new SendOptions();

                    sendOptions.RouteToThisEndpoint();

                    return(bus.Send(new SharedRavenSessionExtensions.GenericMessage(), sendOptions));
                }))
                    .Done(c => c.HandlerWasHit)
                    .Run();

                Assert.AreSame(session, context.RavenSessionFromHandler);
            }
            finally
            {
                if (session != null)
                {
                    session.Dispose();
                    session = null;
                }

                if (documentStore != null)
                {
                    await ConfigureEndpointRavenDBPersistence.DeleteDatabase(documentStore.Database);
                }
            }
        }
예제 #15
0
 public void Dispose()
 {
     _async.Dispose();
 }
예제 #16
0
        public async Task DisposeAsync()
        {
            await Task.Run(() => _store.Dispose());

            await Task.Run(() => _session.Dispose());
        }
 public void Dispose()
 {
     _connection.Dispose();
 }
예제 #18
0
 public void Dispose()
 {
     _session.Dispose();
 }
 protected void Disposeable()
 {
     _session.Dispose();
 }
예제 #20
0
 public void Dispose() => _dbSession.Dispose();
예제 #21
0
 public void TearDown()
 {
     _session.Dispose();
     _store.Dispose();
 }
예제 #22
0
 public void Dispose()
 {
     Session.Dispose();
 }
예제 #23
0
 public void Dispose() => _session.Dispose();
예제 #24
0
 public void TestFixtureTearDown()
 {
     Db.Dispose();
 }
예제 #25
0
 public void Dispose()
 {
     _innerSession.Dispose();
 }
예제 #26
0
 public void Dispose()
 {
     _dao.Dispose();
 }
예제 #27
0
 public void Dispose()
 {
     _inner.Dispose();
 }
예제 #28
0
 public void Dispose()
 {
     _documentSession.Dispose();
 }
예제 #29
0
 public async Task CommitAsync(IAsyncDocumentSession session)
 {
     session.SaveChangesAsync();
     session.Dispose();
 }