2015-07-09 16 views
7

cerco di distribuire il mio database mongo in mongolabs, tutto funziona bene,Un timeout si è verificato dopo 30000ms Selezione di un server utilizzando CompositeServerSelector

e ho creare un nuovo database nei laboratori di Mongo, Si prega di vedere il mio connectionstring.

public DbHelper() 
    { 

     MongoClientSettings settings = new MongoClientSettings() 
     { 
      Credentials = new MongoCredential[] { MongoCredential.CreateCredential("dbname", "username", "password") }, 
      Server = new MongoServerAddress("ds011111.mongolab.com", 11111), 
      //ConnectTimeout = new TimeSpan(30000) 
     }; 

     Server = new MongoClient(settings).GetServer(); 

     DataBase = Server.GetDatabase(DatabaseName); 

    } 

ma quando provo a connet il database è mostra errore come

enter image description here

La prego di dare un consiglio.

Grazie

+4

Hai trovato una soluzione al tuo problema? Perché ho lo stesso problema – RPDeshaies

+0

Sì, ho sbagliato nella creazione di stringhe di connessione, quindi si è verificato l'errore di timeout. Si prega di vedere la risposta qui sotto. –

+0

Possibile duplicato di [MongoDB C# 2.0 TimeoutException] (https://stackoverflow.com/questions/29832622/mongodb-c-sharp-2-0-timeoutexception) – kenorb

risposta

9

Sto sostituendo il metodo di stringa di connessione nel come qui di seguito.

new MongoClient("mongodb://username:[email protected]:11111/db-name") 

Ora è risolto.

Si prega di vedere i commenti sotto di @Paul Lemke

+1

Sì, a MongoLab non piace il nuovo 'MongoSettings (nuovo MongoUri ("...")) ' –

1

Assicurarsi nome utente del database anche maiuscole e minuscole. Mi sono imbattuto in questo problema a causa di maiuscole e minuscole del nome utente

HTA :-)

+0

Grazie per la tua preziosa risposta. –

6

Add "? Collego = replicaSet" alla fine della stringa di connessione se la connessione a MongoLab.

new MongoClient("mongodb://username:[email protected]:11111/db-name?connect=replicaSet") 

Questo biglietto JIRA ha alcuni dettagli: https://jira.mongodb.org/browse/CSHARP-1160

In sostanza l'impostazione predefinita è per la connessione a un membro di set di repliche. Ma le impostazioni Single-Node di MongoLab sono in realtà un singolo set di repliche di nodi e questo ci induce a non fidarci di esso. L'aggiunta? Connect = replicaSet alla stringa di connessione costringerà il driver a passare in modalità set di replica e tutto funzionerà.

Found that info here.

+1

Grazie per la tua preziosa risposta. –

Problemi correlati