Configurando conexão com ReplicaSet com MongoDB e Asp.net C#

0

Este é mais um daqueles posts que eu crio o conteúdo com a prática do meu cotidiano. Irei mostrar um exemplo de como configurar no C# uma conexão via ReplicaSet no MongoDB.

Veja como é simples:

   //variáveis de cliente e database
   protected static IMongoDatabase _database;
   private MongoClient _mongoClient;
   
   var mongoSettings = new MongoClientSettings();
   //instancio lista de servidores a serem conectados
   List<MongoServerAddress> servers = new List<MongoServerAddress>();
   //leio do .config a connection string
   // Ex:  <add name="dbMongoDB" connectionString="10.0.6.1|10.0.6.2|10.0.6.3"/>
   var serversConnection = ConfigurationManager.ConnectionStrings["dbMongoDB"].ConnectionString.Split('|');
   foreach (var item in serversConnection)
   {
       //adiciono os servidores
       servers.Add(new MongoServerAddress(item, 27017));
   }
   //habilito o WriteConcern para 1 replicaSet
   mongoSettings.WriteConcern = new WriteConcern(1, TimeSpan.FromMilliseconds(1000), null, true);
   mongoSettings.Servers = servers;
   //Troco o ConnectionMode para replicaSet
   mongoSettings.ConnectionMode = ConnectionMode.ReplicaSet;
   mongoSettings.ReplicaSetName = "nomeReplicaSet";

   //seto as variáveis
   _mongoClient = new MongoClient(mongoSettings);
   //Ex:   <add key="MongoDataBase" value="MongoDataBase"/>
   _database = _mongoClient.GetDatabase(ConfigurationManager.AppSettings["MongoDataBase"]);
   
   

Vale lembrar que eu estou utilizando o Driver 2.0 do C# com o MongoDB.

Um grande abraço!

Não deixe de passar na nossa página no Facebook!

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com