public MongoGridFSBase(IMongoStorageConfig config, string databaseKey, string bucketName, int chunkSizeBytes = 261120) : this(config, databaseKey, bucketName, new GridFSBucketOptions { BucketName = bucketName, ChunkSizeBytes = chunkSizeBytes, WriteConcern = WriteConcern.WMajority, ReadPreference = ReadPreference.Secondary }) { }
/// <summary> /// MongoDB存储基类 /// </summary> /// <param name="config">存储配置</param> /// <param name="databaseKey">当前存储类使用的数据库名称</param> /// <param name="collectionName">当前存储类使用的集合名称</param> public MongoStorageBase(IMongoStorageConfig config, string databaseKey, string collectionName) : this(config, databaseKey) { if (string.IsNullOrEmpty(collectionName)) { throw new ArgumentNullException("collectionName"); } this.CollectionName = collectionName; }
/// <summary> /// MongoDB存储基类 /// </summary> /// <param name="config">存储配置</param> /// <param name="databaseKey">当前存储类使用的数据库标识名称</param> public MongoStorageBase(IMongoStorageConfig config, string databaseKey) { if (config == null) { throw new ArgumentNullException("config"); } if (string.IsNullOrEmpty(databaseKey)) { throw new ArgumentNullException("databaseKey"); } if (config.DatabaseConfigs.ContainsKey(databaseKey)) { var dbConfig = config.DatabaseConfigs[databaseKey]; //设置客户端配置 Settings = new MongoClientSettings(); if (config.ServerAddress.Count <= 1) { Settings.Server = config.ServerAddress.First(); } else { Settings.Servers = config.ServerAddress; } //设置连接池最大连接个数 if (config.MaxConnectionPoolSize > 0) { Settings.MaxConnectionPoolSize = config.MaxConnectionPoolSize; } //设置认证 if (!string.IsNullOrEmpty(dbConfig.Username) && !string.IsNullOrEmpty(dbConfig.Password)) { var credential = MongoCredential.CreateCredential(dbConfig.DatabaseName, dbConfig.Username, dbConfig.Password); Settings.Credentials = new MongoCredential[] { credential }; } //设置副本集名称 if (!string.IsNullOrEmpty(config.ReplicaSetName)) { Settings.ReplicaSetName = config.ReplicaSetName; } //设置数据库名称 this.DatabaseName = dbConfig.DatabaseName; this.MongoStorageConfig = config; } else { throw new Exception("Could not find the '" + databaseKey + "' database config"); } }
public MongoGridFSBase(IMongoStorageConfig config, string databaseKey, string bucketName, GridFSBucketOptions options) : base(config, databaseKey, bucketName) { BucketOptions = options; }
/// <summary> /// /// </summary> /// <param name="config">存储配置</param> /// <param name="databaseKey">当前存储类使用的数据库标识名称</param> public MongoStorage(IMongoStorageConfig config, string databaseKey) : base(config, databaseKey) { }