/// <summary> /// Initializes a new instance of the MongoClient class. /// In .NET Standard, authenticating via SCRAM-SHA-256 may not work with non-ASCII passwords because SaslPrep is /// not fully implemented due to the lack of a string normalization function in .NET Standard 1.5. /// Normalizing the password into Unicode Normalization Form KC beforehand MAY help. /// SCRAM-SHA-1 is the recommended alternative for now. /// </summary> /// <param name="settings">The settings.</param> public MongoClient(MongoClientSettings settings) { _settings = Ensure.IsNotNull(settings, nameof(settings)).FrozenCopy(); _cluster = ClusterRegistry.Instance.GetOrCreateCluster(_settings.ToClusterKey()); _operationExecutor = new OperationExecutor(this); if (settings.AutoEncryptionOptions != null) { _libMongoCryptController = new AutoEncryptionLibMongoCryptController( this, _cluster.CryptClient, settings.AutoEncryptionOptions); } }
public static IMongoClient _mongocryptdClient(this AutoEncryptionLibMongoCryptController libMongoCryptController) { return((IMongoClient)Reflector.GetFieldValue(libMongoCryptController, nameof(_mongocryptdClient))); }