public async Task<MongoDbServer> ConnectAsync(ConnectionInfo connectionInfo) { if (connectionInfo.Mode == 1) client = new MongoClient(new MongoClientSettings() { Server = new MongoServerAddress(connectionInfo.Address, connectionInfo.Port), ConnectionMode = ConnectionMode.Direct }); else client = new MongoClient(new MongoUrl(connectionInfo.ConnectionString)); var databases = await client.ListDatabasesAsync(); var serverStatus = await client.GetDatabase("admin").RunCommandAsync(new JsonCommand<BsonDocument>("{serverStatus:1}")); MongoDbServer server = new MongoDbServer(); server.Client = client; server.Databases = await databases.ToListAsync(); server.ServerStatus = serverStatus; return server; }
public void ConnectToDatabase() { _connecting = true; MongoClient client; ConnectionInfo info = new ConnectionInfo() { Address = Address, Port = Port, Mode = HostPortMode ? 1 : 2, ConnectionString = ConnectionString }; if (HostPortMode) client = new MongoClient(new MongoClientSettings() { Server = new MongoServerAddress(Address, Port) }); else { client = new MongoClient(new MongoUrl(ConnectionString)); info.Address = client.Settings.Server.Host; info.Port = client.Settings.Server.Port; } Messenger.Default.Send(new NotificationMessage<ConnectionInfo>(info, Constants.LoggingInMessage)); }