Пример #1
0
 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
 })
 {
 }
Пример #2
0
        /// <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;
        }
Пример #3
0
        /// <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");
            }
        }
Пример #4
0
 public MongoGridFSBase(IMongoStorageConfig config, string databaseKey, string bucketName, GridFSBucketOptions options)
     : base(config, databaseKey, bucketName)
 {
     BucketOptions = options;
 }
Пример #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="config">存储配置</param>
 /// <param name="databaseKey">当前存储类使用的数据库标识名称</param>
 public MongoStorage(IMongoStorageConfig config, string databaseKey)
     : base(config, databaseKey)
 {
 }