-
Notifications
You must be signed in to change notification settings - Fork 820
/
RavenDbServer.cs
58 lines (48 loc) · 1.18 KB
/
RavenDbServer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//-----------------------------------------------------------------------
// <copyright file="RavenDbServer.cs" company="Hibernating Rhinos LTD">
// Copyright (c) Hibernating Rhinos LTD. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
using System;
using Raven.Database;
using Raven.Database.Config;
using Raven.Database.Server;
namespace Raven.Server
{
public class RavenDbServer : IDisposable
{
private readonly DocumentDatabase database;
private readonly HttpServer server;
public DocumentDatabase Database
{
get { return database; }
}
public HttpServer Server
{
get { return server; }
}
public RavenDbServer(RavenConfiguration settings)
{
database = new DocumentDatabase(settings);
try
{
database.SpinBackgroundWorkers();
server = new HttpServer(settings, database);
server.StartListening();
}
catch (Exception)
{
database.Dispose();
database = null;
throw;
}
}
#region IDisposable Members
public void Dispose()
{
server.Dispose();
database.Dispose();
}
#endregion
}
}