私はこれらのエラーをたくさん見ています
「既存の接続がリモートホストによって強制的に閉じられました」
オープンソースのc#ドライバーから10Genでサポートされているドライバーに切り替えてから、Mongoログに記録されます。このエラーが発生すると、私のWebサイトが応答しなくなります。接続プールの実装方法と関係があると感じています。以下のログを参照してください。コレクションからインデックスを削除し、すべてのアイテムを削除してから、必要なすべての行を追加してコレクションを「再作成」し、コレクションのインデックスを再作成しています。その後しばらくすると、必ずエラーが発生します:「既存の接続がリモートホストによって強制的に閉じられました」
[conn46] run command admin.$cmd { ismaster: 1 }
[conn46] query admin.$cmd ntoreturn:1 command: { ismaster: 1 } reslen:64 0ms
[conn46] query BtSearchCache.system.indexes reslen:1407 nreturned:7 0ms
drop indexes
[conn46] run command BtSearchCache.$cmd { deleteIndexes: "Board_41", index: "ix_QuickSearch" }
[conn46] CMD: dropIndexes BtSearchCache.Board_41
[conn46] dropIndexes: ix_QuickSearch not found
[conn46] query BtSearchCache.$cmd ntoreturn:1 command: { deleteIndexes: "Board_41", index: "ix_QuickSearch" } reslen:81 1ms
remove all data from collection
[conn46] remove query: {} 1428ms
insert data (thousands of rows, omitted here)
[conn46] insert BtSearchCache.Board_41 0ms
[conn46] insert BtSearchCache.Board_41 0ms
[conn46] insert BtSearchCache.Board_41 1ms
[conn46] insert BtSearchCache.Board_41 0ms
[conn46] insert BtSearchCache.system.indexes 0ms
create indexes
[conn46] run command admin.$cmd { getlasterror: 1 }
[conn46] query admin.$cmd ntoreturn:1 command: { getlasterror: 1 } reslen:65 0ms
ERROR a few minutes later
[conn46] MessagingPort recv() errno:10054 An existing connection was forcibly closed by the remote host. 192.168.100.216:51111
[conn46] SocketException: 9001 socket exception
[conn46] end connection 192.168.100.216:51111