public static LoadTestingContext Create(IConnectionStringRepository connectionStringRepository)
 {
     if (_loadTestingContext == null)
     {
         _loadTestingContext = new LoadTestingContext();
         string connectionString = connectionStringRepository.ReadConnectionString("MongoDbWebSuiteContext");
         _loadTestingContext.Client   = new MongoClient(connectionString);
         _loadTestingContext.Database = _loadTestingContext.Client.GetDatabase(_databaseName);
     }
     return(_loadTestingContext);
 }
예제 #2
0
        public static ModelContext Create(IConfigurationRepository configurationRepository,
                                          IConnectionStringRepository connectionStringRepository)
        {
            if (configurationRepository == null)
            {
                throw new ArgumentNullException("ConfigurationRepository");
            }
            if (connectionStringRepository == null)
            {
                throw new ArgumentNullException("ConnectionStringRepository");
            }
            if (_modelContext == null)
            {
                _modelContext = new ModelContext();
                string connectionString = connectionStringRepository.ReadConnectionString("MongoDb");

                //set read and write concern on client level
                MongoClientSettings settings = new MongoClientSettings();
                settings.ReadConcern = new ReadConcern(ReadConcernLevel.Majority);
                Tag    tag    = new Tag("tagName", "tagValue");
                TagSet tagSet = new TagSet(new List <Tag>()
                {
                    tag
                });
                settings.ReadPreference = new ReadPreference(ReadPreferenceMode.Secondary, new List <TagSet>()
                {
                    tagSet
                });
                WriteConcern writeConcernWithNumberOfServers = new WriteConcern(2, TimeSpan.FromSeconds(60), false, false);
                WriteConcern writeConcerntWithMajority       = new WriteConcern("majority", TimeSpan.FromSeconds(60), false, false);
                settings.WriteConcern = writeConcerntWithMajority;

                //set read and write concern on DB level
                MongoDatabaseSettings dbSettings = new MongoDatabaseSettings();


                _modelContext.Client   = new MongoClient(connectionString);
                _modelContext.Database = _modelContext.Client.GetDatabase(configurationRepository.GetConfigurationValue("DemoDatabaseName", "model"));

                _modelContext.ConfigurationRepository = configurationRepository;
            }
            return(_modelContext);
        }
예제 #3
0
 public static ModelContext Create(IConfigurationRepository configurationRepository,
                                   IConnectionStringRepository connectionStringRepository)
 {
     if (configurationRepository == null)
     {
         throw new ArgumentNullException("ConfigurationRepository");
     }
     if (connectionStringRepository == null)
     {
         throw new ArgumentNullException("ConnectionStringRepository");
     }
     if (_modelContext == null)
     {
         _modelContext = new ModelContext();
         string connectionString = connectionStringRepository.ReadConnectionString("MongoDb");
         _modelContext.Client   = new MongoClient(connectionString);
         _modelContext.Database = _modelContext.Client.GetDatabase(configurationRepository.GetConfigurationValue("DemoDatabaseName", "model"));
         _modelContext.ConfigurationRepository = configurationRepository;
     }
     return(_modelContext);
 }
 public static LoadTestingContext Create(IConnectionStringRepository connectionStringRepository)
 {
     if (_loadTestingContext == null)
     {
         _loadTestingContext = new LoadTestingContext();
         string connectionString = connectionStringRepository.ReadConnectionString("MongoDbWebSuiteContext");
         _loadTestingContext.Client = new MongoClient(connectionString);
         _loadTestingContext.Database = _loadTestingContext.Client.GetDatabase(_databaseName);
     }
     return _loadTestingContext;
 }