2012-10-31 7 views
11

私は、接続するMongoDBの1つのプライマリインスタンスを持っています。私はMongoDBを接続して利用するためにC#ドライバ(最新のリビジョン)を使用しています。MongoDBと複数のC#クライアントスレッド

私のクライアントアプリケーションはマルチスレッド化されており、プロセスはレポートを作成するためにさまざまな間隔で定期的に実行されます。複数のスレッドが実行されていて、ドライバ(たとえばserver.DatabaseExists(...)など)でさまざまな関数を呼び出すと、一貫して例外が発生します。

「要求された名前は有効ですが、要求された種類のデータが見つからなかった」

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 

は、この問題は発生しませんつのスレッドを実行します。私はMongoDBがスレッドセーフであることを理解しているので、原因と解決策を理解することは紛失しています。

+0

私は今まったく同じ問題を抱えています。ホスト名ではなくipを使用してDNSを除外しましたが、進歩しましたか? – Stono

+1

@Stono .. IPを使用して問題を解決しましたか? – genericuser

+1

MongoDBドライバの外部でエラーが発生しています。これはTCP/IPレイヤーにあります。問題は名前解決にあります。これはMongoDBドライバまたはDBエラーではなくWindowsエラーです。このエラーをGoogleに報告すると、複数のヒットが発生します。すべての問題はホスト名/ホストの解決であることを示唆しています。 –

答えて

1

私が見つけた唯一の "解決策"は、mongoクライアントを呼び出す私のウェブサイト\サービスをホストしているアプリケーションプールをリサイクルすることでした。

+0

私は古い質問をしています。それが唯一のものなので、これを答えとして受け入れます。残念ながら私はもはやMongoDBを使用していません。私は自分自身でこの問題を決して解決しませんでした。 – Jason

関連する問題