Die C# .NET 9-Anwendung in Docker kann keine Verbindung zur Mongo-DB-Instanz herstellenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Die C# .NET 9-Anwendung in Docker kann keine Verbindung zur Mongo-DB-Instanz herstellen

Post by Anonymous »

Ich möchte ein Konsolenprogramm (.NET-Anwendung) in einem Docker-Container ausführen. Es enthält einen Mongo-Client und funktioniert einwandfrei, wenn es als eigenständiges Programm verwendet wird. Allerdings erhalte ich immer wieder Timeout-Fehler, wenn ich versuche, einen Docker-Container zu erstellen. Ich habe sogar überprüft, ob die Verbindung vom Docker-Container funktioniert, indem ich genau dieselbe Verbindungszeichenfolge für MongoDB verwendet habe. Es gibt ein Problem mit dem Programm, das für Docker erstellt wurde (ich verwende AOT, aber es sollte kein Problem sein, da es für Standalone genauso funktioniert).
Noch seltsamer ist die Tatsache dass es auch beim Debuggen in Visual Studio mit Docker-Einstellungen ordnungsgemäß funktioniert.
Was mache ich falsch? NB: Als ich das Projekt gestartet habe, habe ich die Docker-Datei verwendet, die Visual Studio erstellt hat, und diese Datei wird auch zum Debuggen verwendet.
Fehler:

Code: Select all

2024-12-28 19:35:37 A timeout occurred after 30000ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "1", Type : "Unknown", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "192.168.0.11:27017" }", EndPoint: "192.168.0.11:27017", ReasonChanged: "Heartbeat", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server.
2024-12-28 19:35:37  ---> System.MissingMethodException: No suitable constructor found for serializer type: 'MongoDB.Bson.Serialization.Serializers.ExpandoObjectSerializer'.
2024-12-28 19:35:37    at MongoDB.Bson.Serialization.BsonSerializationProviderBase.CreateSerializer(Type, IBsonSerializerRegistry) + 0x22b
2024-12-28 19:35:37    at MongoDB.Bson.Serialization.CollectionsSerializationProvider.GetSerializer(Type, IBsonSerializerRegistry) + 0xa4
2024-12-28 19:35:37    at MongoDB.Bson.Serialization.BsonSerializerRegistry.CreateSerializer(Type type) + 0x9a
2024-12-28 19:35:37    at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey, Func`2) + 0xa0
2024-12-28 19:35:37    at MongoDB.Bson.Serialization.BsonSerializer.LookupSerializer[T]() + 0x51
2024-12-28 19:35:37    at MongoDB.Bson.BsonDefaults.get_DynamicDocumentSerializer() + 0x28
2024-12-28 19:35:37    at MongoDB.Bson.Serialization.BsonDeserializationContext.Builder..ctor(BsonDeserializationContext, IBsonReader) + 0x3b
2024-12-28 19:35:37    at MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders.ReplyMessageBinaryEncoder`1.ReadMessage() + 0x210
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.BinaryConnection.ReceiveMessageHelper.DecodeMessage(IByteBuffer, IMessageEncoderSelector, CancellationToken) + 0x135
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.BinaryConnection.ReceiveMessage(Int32, IMessageEncoderSelector, MessageEncoderSettings, CancellationToken) + 0x14d
2024-12-28 19:35:37    at MongoDB.Driver.Core.WireProtocol.CommandUsingQueryMessageWireProtocol`1.Execute(IConnection, CancellationToken) + 0x173
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.HelloHelper.GetResult(IConnection, CommandWireProtocol`1, CancellationToken) + 0x50
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.ConnectionInitializer.SendHello(IConnection, CancellationToken) + 0x105
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(CancellationToken) + 0x93
2024-12-28 19:35:37    --- End of inner exception stack trace ---
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(CancellationToken) + 0x167
2024-12-28 19:35:37    at MongoDB.Driver.Core.Connections.BinaryConnection.Open(CancellationToken) + 0x17e
2024-12-28 19:35:37    at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(CancellationToken) + 0x57f
2024-12-28 19:35:37    at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken) + 0x174", LastHeartbeatTimestamp: "2024-12-29T00:35:37.8947163Z", LastUpdateTimestamp: "2024-12-29T00:35:37.8947163Z" }] }.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post