Hi there,

I’ve created a MongoDB collection where I’m adding a document in my function using AddOneAsync() method. Which works absolutely fine when I’m debugging my program. However, when I try to run my program outside the debug environment, it strangely always fails to create a new MongoDb Client for some reason.

public async Task LogData(Usage usage)
{
// Write to MongoDb
try
{
// Get MongoDb configs
var mongoDbConfigs = MongoDbConnector.Instance;
mongoDbConfigs.GetMongoDbConnectorDetailsFromJson();

   // Create a new MongoDb client
    var mongoClient = new MongoClient(mongoDbConfigs.MongoDbConnectionString); // This line fails.
    var db = mongoClient.GetDatabase(mongoDbConfigs.MongoDbDatabaseName);
    var collection = db.GetCollection<Usage>(mongoDbConfigs.MongoDbCollectionName);
  
  // Ensure - Enums are represented as string instead of its index
    if (!BsonSerializer.LookupSerializer(typeof(SignCharacterHeight)).GetType().Equals(typeof(EnumSerializer<SignCharacterHeight>)))
        BsonSerializer.RegisterSerializer(new EnumSerializer<SignCharacterHeight>(MongoDB.Bson.BsonType.String));
    if (!BsonSerializer.LookupSerializer(typeof(SignComponentModule)).GetType().Equals(typeof(EnumSerializer<SignComponentModule>)))
        BsonSerializer.RegisterSerializer(new EnumSerializer<SignComponentModule>(MongoDB.Bson.BsonType.String));

    // Log the data to MongoDb
    await collection.InsertOneAsync(usage);
}
catch (Exception ex)
{
    MessageBox.Show($"Error logging data to MongoDb", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    WriteFailedLogToLocalFile(usage, Properties.Resources.Failed_Logs_File_Path);
}

}