Ho una singola istanza primaria di un MongoDB a cui connettersi. Sto usando il driver C# (ultima revisione) per connettere e utilizzare MongoDB.Thread client MongoDB e Multiple C#
La mia applicazione client è multi-thread in cui i processi verranno eseguiti periodicamente a intervalli diversi per produrre report. Quando è in esecuzione più di un thread e chiamo varie funzioni sul driver (ad es. Server.DatabaseExists (...)), vengono sempre rispettate eccezioni.
"Il nome richiesto è valido, ma non ci sono dati del tipo richiesto è stato trovato"
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
at MongoDB.Driver.MongoServerAddress.ToIPEndPoint(AddressFamily addressFamily) in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoServerAddress.cs:line 195
at MongoDB.Driver.MongoServerInstance.GetIPEndPoint() in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoServerInstance.cs:line 339
at MongoDB.Driver.Internal.MongoConnection.Open() in C:\work\rstam\mongo-csharp-driver\Driver\Internal\MongoConnection.cs:line 368
at MongoDB.Driver.Internal.MongoConnection.GetNetworkStream() in C:\work\rstam\mongo-csharp-driver\Driver\Internal\MongoConnection.cs:line 574
at MongoDB.Driver.Internal.MongoConnection.SendMessage(MongoRequestMessage message, SafeMode safeMode, String databaseName) in C:\work\rstam\mongo-csharp-driver\Driver\Internal\MongoConnection.cs:line 555
at MongoDB.Driver.MongoCursorEnumerator`1.GetReply(MongoConnection connection, MongoRequestMessage message) in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoCursorEnumerator.cs:line 295
at MongoDB.Driver.MongoCursorEnumerator`1.GetFirst() in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoCursorEnumerator.cs:line 253
at MongoDB.Driver.MongoCursorEnumerator`1.MoveNext() in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoCursorEnumerator.cs:line 141
at MongoDB.Driver.MongoDatabase.GetCollectionNames() in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoDatabase.cs:line 645
at MongoDB.Driver.MongoDatabase.CollectionExists(String collectionName) in C:\work\rstam\mongo-csharp-driver\Driver\Core\MongoDatabase.cs:line 297
Esecuzione di un thread non causa questo problema. Sono del parere che MongoDB sia sicuro per i thread, quindi sono in perdita per comprendere la causa e il rimedio.
Quindi ora sto avendo lo stesso identico problema, ho escluso DNS usando un IP piuttosto che un hostname, hai fatto qualche progresso? – Stono
@Stono .. L'utilizzo dell'IP ha risolto il problema? – genericuser
L'errore sta accadendo al di fuori del driver MongoDB - è sul livello TCP/IP - il problema è con la risoluzione dei nomi. Questo è un errore di Windows, non un driver MongoDB o un errore del DB. Ci sono più accessi se si verifica questo errore, tutti suggeriscono che il problema è con la risoluzione hostname/host. –