/// <summary> /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// </summary> public override void Dispose() { if (wasDisposed) { return; } wasDisposed = true; base.Dispose(); if (DocumentDatabase != null) { DocumentDatabase.Dispose(); } if (httpServer != null) { httpServer.Dispose(); } var onDisposed = Disposed; if (onDisposed != null) { onDisposed(); } }
private void StartRaven(RavenConfiguration config) { try { _database = new DocumentDatabase(config); _database.SpinBackgroundWorkers(); _server = new RavenDbHttpServer(config, _database); try { _server.Start(); } catch (Exception) { _server.Dispose(); _server = null; throw; } } catch (Exception) { _database.Dispose(); _database = null; throw; } }
private void StopRaven() { if (_server != null) { _server.Dispose(); _server = null; } if (_database != null) { _database.Dispose(); _database = null; } }