public IMongoDatabase CreateDatabase(string dbName)
        {
            if (!string.IsNullOrEmpty(dbName))
            {
                DB_NAME = dbName;
            }

            MongoConfig config = Config.ConfigAccess <MongoConfig> .GetConfig();

            if (config == null || config.ConnectionList == null || config.ConnectionList.Count == 0)
            {
                throw new Exception("MongoConfig为空");
            }

            MongoConnection connection = config.ConnectionList.FindLast(x => x.DBName == DB_NAME);

            if (connection == null)
            {
                throw new Exception("connection为空");
            }

            MongoClientSettings mongoSetting = new MongoClientSettings();

            //设置连接超时时间
            mongoSetting.ConnectTimeout = new TimeSpan(config.ConnectionTimeout * TimeSpan.TicksPerSecond);
            var CONNECT_USER_ID = connection.UserName;
            var CONNECT_PWD     = string.Empty;

            if (!string.IsNullOrWhiteSpace(connection.PassWord))
            {
                DESHelper des = new DESHelper();
                // connection.PassWord DES 解密
                CONNECT_PWD = des.Decrypt(connection.PassWord);
            }
            //账号密码
            if (CONNECT_USER_ID.Length > 0 && CONNECT_PWD.Length > 0)
            {
                mongoSetting.Credentials = new List <MongoCredential>()
                {
                    MongoCredential.CreateMongoCRCredential(DB_NAME, CONNECT_USER_ID, CONNECT_PWD)
                };
            }
            var lstMongoConnHost = connection.Host.Split(new char[] { ',' });
            var lstMongoConnPort = connection.Port.Split(new char[] { ',' });
            var lstService       = lstMongoConnHost.Select(
                (t, i) => new MongoServerAddress(t, lstMongoConnPort.Length > i ? int.Parse(lstMongoConnPort[i])
                    : int.Parse(lstMongoConnPort[0]))).ToList();

            mongoSetting.Servers = lstService;
            //读写分离
            mongoSetting.ReadPreference = new ReadPreference(ReadPreferenceMode.Secondary);
            //设置最大连接数
            mongoSetting.MaxConnectionPoolSize = 50;

            //创建Mongo的客户端
            Client = new MongoClient(mongoSetting);

            //得到服务器端并且生成数据库实例
            return(Client.GetDatabase(DB_NAME));
        }
Exemple #2
0
        protected void Application_Start()
        {
            // Disable ASP.NET MVC version header
            MvcHandler.DisableMvcResponseHeader = true;

            // Don't bother looking for the legacy aspx view engine.
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new RazorViewEngine());

            RouteConfig.RegisterRoutes(RouteTable.Routes);
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

            var db = new DateTimeModelBinder();

            ModelBinders.Binders.Add(typeof(DateTime), db);
            ModelBinders.Binders.Add(typeof(DateTime?), db);

            ModelMappings.Initialise();

            Roles.CreateRole("Administrators");
            Roles.CreateRole("Editors");
            Roles.CreateRole("Users");

            MongoConfig.SetupIndexes();
        }
Exemple #3
0
 public InvoiceService(IInvoicesRepository invoiceRepository, IInvoiceAutoNumberGenerator invNumberGenerator, MongoConfig mongo, IBus bus)
 {
     this.invRepo = invoiceRepository;
     this.gen     = invNumberGenerator;
     this.mongo   = mongo;
     this.bus     = bus;
 }
        public static async Task <HttpResponseMessage> Run(HttpRequestMessage req)
        {
            if (req.Method == HttpMethod.Get)
            {
                string id = req.GetQueryNameValuePairs()
                            .FirstOrDefault(q => q.Key == "id")
                            .Value;

                if (!string.IsNullOrEmpty(id))
                {
                    MongoConfig.RegisterMappings();
                    var mongoClient         = new MongoClient(ConfigurationManager.AppSettings["MongoDbConnectionString"]);
                    var customersCollection =
                        mongoClient.GetDatabase(ConfigurationManager.AppSettings["MongoDbDatabase"])
                        .GetCollection <RoboBank.Customer.Domain.Customer>("customers");

                    var customerApplicationService =
                        new CustomerApplicationService(new MongoCustomerRepository(customersCollection),
                                                       new Application.Adapters.Mapper());

                    var customerInfo = await customerApplicationService.GetByIdAsync(id);

                    if (customerInfo != null)
                    {
                        return(req.CreateResponse(HttpStatusCode.OK, AutoMapper.Mapper.Map <CustomerInfo, CustomerModel>(customerInfo)));
                    }
                }

                return(req.CreateResponse(HttpStatusCode.NotFound));
            }

            return(req.CreateErrorResponse(HttpStatusCode.BadRequest, "Method not supported"));
        }
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSwaggerGenNewtonsoftSupport();
            services.AddSwaggerGen(o =>
            {
                var appXmlName = AppDomain.CurrentDomain.FriendlyName + ".xml";
                var xmlPath    = Path.Combine(AppContext.BaseDirectory, appXmlName);
                o.IncludeXmlComments(xmlPath);
            });

            var rabbitConfig = new RabbitMqConfig()
            {
                UserName    = "******",
                Password    = "******",
                Host        = "localhost",
                Port        = 5672,
                VirtualHost = "/",
                Exchange    = "test"
            };

            services.AddSingleton(rabbitConfig);
            services.AddSingleton <IRabbitConnectionWrapper, RabbitConnectionWrapper>();
            services.AddRabbitMq(typeof(AppleCreatedEventHandler).Assembly);

            services.AddCommandHandlers(typeof(AppleCommandHandlers).Assembly);
            services.AddInternalEventHandlers(typeof(AppleCommandHandlers).Assembly,
                                              typeof(AppleReadModel).Assembly);
            services.AddInternalEventPublisher();
            services.AddCommandSender();

            var eventStoreConfig = new EventStoreConfig();

            Configuration.GetSection(nameof(EventStoreConfig)).Bind(eventStoreConfig);
            var mongoConfig = new MongoConfig();

            Configuration.GetSection(nameof(MongoConfig)).Bind(mongoConfig);

            services.AddSingleton <IEventProducer, RabbitMqProducer>();
            services.AddEventStoreConfig(eventStoreConfig);
            services.AddMongoDb(mongoConfig);
            services.ConfigureMongoEventStore();
            services.ConfigureRepositories();

            var ravenSettings = new RavenSettings();

            Configuration.GetSection(nameof(RavenSettings)).Bind(ravenSettings);
            services.AddSingleton(ravenSettings);
            services.AddRavenDb(ravenSettings);
            services.AddQueryHandlers(typeof(AppleReadModel).Assembly);
            services.AddQueryProcessor();

            services
            .AddTransient <IReadModelRepository <AppleReadModel, string>,
                           RavenReadModelRepository <AppleReadModel, string> >();

            services.AddControllers().AddNewtonsoftJson(o =>
            {
                o.SerializerSettings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor;
            });
        }
        public MongoDbAccess(MongoConfig mongoConfig)
        {
            var mongoClient = new MongoClient(mongoConfig.ConnectionString);
            var database    = mongoClient.GetDatabase(mongoConfig.Database);

            _ordersCollection = database.GetCollection <Order>(mongoConfig.OrdersCollection);
        }
Exemple #7
0
 private void btnUpload_Click(object sender, EventArgs e)
 {
     if (this.txtFileName.Text.Trim() != "")
     {
         if (File.Exists(this.txtFileName.Text))
         {
             var config = new MongoConfig
             {
                 AuthDb                = "admin",
                 ConnectTimeout        = 300000,
                 DefaultDb             = "yudiefly",
                 PassWord              = "******",
                 UserName              = "******",
                 ServerPort            = 27017,
                 ServerConStr          = "139.224.196.218",
                 SocketTimeout         = 180000,
                 MaxConnectionIdleTime = 60000,
                 MaxConnectionLifeTime = 600000,
                 MaxConnectionPoolSize = 600,
                 WaitQueueSize         = 10,
                 WaitQueueTimeout      = 120000
             };
             var repostory = new DoMongoRepostory <myValueObject>("yudiefly", "test_file_upload", config);
             var result    = repostory.UploadFile(this.txtFileName.Text, "test_file_upload");
         }
     }
 }
Exemple #8
0
 /// <summary>
 /// Constructor of MongoConnecter
 /// </summary>
 /// <param name="configuration">Contain all of config for connecter</param>
 private MongoConnecter(IConfigurationSection configuration)
 {
     Config = new MongoConfig();
     configuration.Bind(Config);
     Client    = new MongoClient(Config.Connect);
     MDatabase = Client.GetDatabase(Config.Database);
 }
        /// <summary>
        /// 注册mongodb服务
        /// </summary>
        /// <param name="services"></param>
        /// <param name="connectionString"></param>
        /// <returns></returns>
        public static IServiceCollection AddMongodb(this IServiceCollection services, string connectionString)
        {
            MongoConfig mongoConfig = new MongoConfig(connectionString);

            services.AddTransient(typeof(IMongoService), _ => new MongoService(mongoConfig));
            return(services);
        }
        public MongoServices(MongoConfig config)
        {
            var equipamentoColecao = new MongoClient(config.StringConexao);
            var database           = equipamentoColecao.GetDatabase(config.NomeBD);

            _Endereco = database.GetCollection <Endereco>("ColecaoEndereco");
        }
Exemple #11
0
        /// <summary>
        ///     初始化
        /// </summary>
        public static void Init()
        {
            //MongoDB驱动版本的取得
            Debug.Print(Path.DirectorySeparatorChar.ToString());
            var info =
                FileVersionInfo.GetVersionInfo(Application.StartupPath + Path.DirectorySeparatorChar +
                                               "MongoDB.Driver.dll");

            MongoHelper.MongoDbDriverVersion = info.ProductVersion;
            info =
                FileVersionInfo.GetVersionInfo(Application.StartupPath + Path.DirectorySeparatorChar +
                                               "MongoDB.Bson.dll");
            MongoHelper.MongoDbBsonVersion = info.ProductVersion;
            //版本设定
            Version          = Application.ProductVersion;
            DebugMode        = false;
            MonoMode         = Type.GetType("Mono.Runtime") != null;
            GuiConfig.IsMono = MonoMode;
            //Can't know for OSVersion to diff Mac or Unix....
            //异常处理器的初始化
            Utility.ExceptionAppendInfo = "MongoDbDriverVersion:" + MongoHelper.MongoDbDriverVersion +
                                          Environment.NewLine;
            Utility.ExceptionAppendInfo += "MongoDbBsonVersion:" + MongoHelper.MongoDbBsonVersion +
                                           Environment.NewLine;
            //config
            SystemConfig.AppPath = Application.StartupPath + Path.DirectorySeparatorChar;
            MongoConfig.AppPath  = Application.StartupPath + Path.DirectorySeparatorChar;
            var localconfigfile = Application.StartupPath + Path.DirectorySeparatorChar +
                                  SystemConfig.SystemConfigFilename;

            if (File.Exists(localconfigfile))
            {
                SystemConfig.LoadFromConfigFile();
                InitLanguage();
                MongodbDosCommand.MongoBinPath = SystemConfig.MongoBinPath;
            }
            else
            {
                SystemConfig = new SystemConfig();
                var frmLanguage = new FrmLanguage();
                frmLanguage.ShowDialog();
                InitLanguage();
                var frmOption = new FrmOption();
                frmOption.ShowDialog();
                SystemConfig.SaveSystemConfig();
            }
            localconfigfile = Application.StartupPath + Path.DirectorySeparatorChar + MongoConfig.MongoConfigFilename;
            if (File.Exists(localconfigfile))
            {
                MongoConfig.LoadFromConfigFile();
                RuntimeMongoDbContext.MongoConnectionConfigList = MongoConnectionConfig.MongoConfig.ConnectionList;
            }
            Application.Run(new FrmMain());
            //delete tempfile directory when exit
            if (Directory.Exists(Gfs.TempFileFolder))
            {
                Directory.Delete(Gfs.TempFileFolder, true);
            }
        }
        public CarsRepository(MongoConfig config)
        {
            var client   = new MongoClient(config.ConnectionUrl);
            var database = client.GetDatabase(config.DatabaseName);

            _carStore     = database.GetCollection <CarModel>("Cars");
            _carMakeStore = database.GetCollection <CarMakeModel>("CarMakes");
        }
Exemple #13
0
        public void Setup()
        {
            var unityContainer = UnityConfig.GetConfiguredContainer();

            _objectContainer.RegisterInstanceAs(unityContainer.Resolve <IMongoCollection <Domain.Customer> >());
            _objectContainer.RegisterTypeAs <RoboRestClient, IRestClient>();
            MongoConfig.RegisterMappings();
        }
Exemple #14
0
 public ComputerService(IComputerRepository repository, IOptions <MongoConfig> config)
 {
     _repository = repository;
     _config     = config.Value;
     _client     = new MongoClient(_config.Client);
     _database   = _client.GetDatabase(_config.Database);
     _collection = _database.GetCollection <Log>(_config.Collection);
 }
        public MongoCollectionLogger(string userName, string password, string host, int port, string database, string collection, LogLevel minimumLevel, string categoryName)
        {
            MinimumLevel = minimumLevel;
            CategoryName = categoryName;

            var config = new MongoConfig(userName, password, host, port, database, collection);

            MongoRepository = new MongoRepository(config);
        }
Exemple #16
0
 public static void SetMongoConfig(MongoConfig config)
 {
     mongoConfig = config;
     if (mongoConfig != null)
     {
         mongoConfig.Username = WebUtility.UrlEncode(mongoConfig.Username);
         mongoConfig.Password = WebUtility.UrlEncode(mongoConfig.Password);
     }
 }
Exemple #17
0
 protected void Application_Start()
 {
     AreaRegistration.RegisterAllAreas();
     GlobalConfiguration.Configure(WebApiConfig.Register);
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
     MongoConfig.Seed();
 }
Exemple #18
0
        public MongoRepository(IOptions <MongoConfig> mongoConfig, ILogger <MongoRepository> logger)
        {
            _mongoConfig = mongoConfig.Value;
            _logger      = logger;

            var client   = new MongoClient(_mongoConfig.Host);
            var database = client.GetDatabase(_mongoConfig.DBName);

            _exchangeInfos = database.GetCollection <StoreExchangeInfo>(_mongoConfig.DBCollection);
        }
Exemple #19
0
 public MongoDbContextBuilder UseDefaultConfiguration()
 {
     this.configuration = new MongoConfig {
         Host           = "localhost",
         Port           = "27017",
         ConnectTimeout = 2000,
         Database       = Guid.NewGuid().ToString()
     };
     return(this);
 }
Exemple #20
0
        public void Init()
        {
            NServiceBus.Configure.With()
            .DefaultBuilder()
            .BinarySerializer()
            .MsmqSubscriptionStorage();

            mongo = new MongoConfig();
            NServiceBus.Configure.Instance.Configurer.RegisterSingleton <MongoConfig>(mongo);
            NServiceBus.Configure.Instance.Configurer.ConfigureComponent <InvoiceAutoNumberGenerator>(NServiceBus.ObjectBuilder.ComponentCallModelEnum.Singlecall);
        }
Exemple #21
0
        private ServiceRegistrationHelper(IConfiguration configuration, IServiceCollection services)
        {
            _configuration = configuration;
            _services      = services;

            Configure();

            _jwtConfig   = _configuration.GetSection("JWT").Get <JWTConfig>();
            _mongoConfig = _configuration.GetSection("MongoDb").Get <MongoConfig>();
            _mysqlConfig = _configuration.GetSection("Mysql").Get <MysqlConfig>();
        }
        /// <summary>
        /// 注册mongodb服务
        /// </summary>
        /// <param name="services"></param>
        /// <param name="connectionString"></param>
        /// <param name="typeService"></param>
        /// <returns></returns>
        public static IServiceCollection AddMongodb(this IServiceCollection services, string connectionString, Type typeService = null)
        {
            if (typeService == null)
            {
                typeService = typeof(IMongoService);
            }
            MongoConfig mongoConfig = new MongoConfig(connectionString);

            services.AddTransient(typeService, _ => new MongoService(mongoConfig));
            return(services);
        }
Exemple #23
0
        public CatanEntityMongoPersist(ILogger <CatanEntityMongoPersist <T> > logger, IOptions <MongoConfig> options, string documentName)
        {
            _logger       = logger;
            _documentName = documentName;
            MongoConfig configuration = options.Value;

            Client          = new MongoClient(configuration.MongoConnectionString);
            Database        = Client.GetDatabase(configuration.MongoDatabaseName);
            MongoCollection = Database.GetCollection <T>(_documentName);
            InitializeClassMap();
        }
        public static IServiceCollection AddMongoDb(this IServiceCollection services,
                                                    MongoConfig mongoConfig)
        {
            services.AddSingleton(mongoConfig);
            BsonSerializer.RegisterSerializationProvider(new CustomSerializationProvider());

            var mongoClient = new MongoClient(mongoConfig.ConnectionString);

            services.AddSingleton <IMongoClient>(mongoClient);

            return(services);
        }
Exemple #25
0
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(env.ContentRootPath)
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                          .AddEnvironmentVariables();

            Configuration = builder.Build();

            //Load MongoDB Connection List
            MongoConfig.LoadFromConfigFile();
        }
Exemple #26
0
        /// <summary>
        /// Sets the Engine to use Mongo as its datastore.
        /// </summary>
        public EngineSetup UseMongo(MongoConfig config)
        {
            if (string.IsNullOrWhiteSpace(config.ConnectionString))
            {
                throw new ArgumentException("Mongo connection string must be provided in the config.");
            }
            if (string.IsNullOrWhiteSpace(config.DatabaseName))
            {
                throw new ArgumentException("Mongo database name must be provided in the config.");
            }

            _dbProviderFactory = logger => new MongoDbProvider(config, logger);
            return(this);
        }
Exemple #27
0
        public BookService(IOptions <MongoConfig> mongoConfigOptions)
        {
            MongoConfig mongoConfig = mongoConfigOptions.Value;

            MongoClientSettings mongoSettings = new MongoClientSettings
            {
                Server     = new MongoServerAddress(mongoConfig.Host, mongoConfig.Port),
                Credential = MongoCredential.CreateCredential(mongoConfig.AuthenticationDatabase, mongoConfig.Username, mongoConfig.Password)
            };

            var client   = new MongoClient(mongoSettings);
            var database = client.GetDatabase(mongoConfig.DatabaseName);

            _books = database.GetCollection <Book>("Books");
        }
        public static IRepository GetRepository()
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            var config = new MongoConfig();

            configuration.GetSection("MongoConnection").Bind(config);

            MapperConfiguration mapperConfig = new MapperConfiguration(c => c.AddProfiles(typeof(IRepository).Assembly));

            return(new Repository(config, mapperConfig.CreateMapper()));
        }
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory,
                              IIdentityService identityService)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            app.UseCors(builder => builder.AllowAnyHeader()
                        .AllowAnyMethod()
                        .AllowAnyOrigin()
                        .AllowCredentials());
            app.UseJwtBearerAuthentication(CreateJwtBearerOptions(identityService));
            app.UseStatusCodePages();
            app.UseMvc();

            MongoConfig.Initialize();
        }
        public async Task Init()
        {
            MongoConfig config = new MongoConfig
            {
                MongoConnectionString = "mongodb://*****:*****@localhost/catanHelperTest?authSource=admin",
                MongoDatabaseName     = "CatanGameTest"
            };
            IOptions <MongoConfig> someOptions = Options.Create(config);

            _catanPlayerBusinessLogic = new CatanUserBusinessLogic(null, new CatanUserMongoPersist(null, someOptions));
            _catanGameBusinessLogic   = new CatanGameBusinessLogic(null, new CatanGameMongoPersist(null, someOptions));

            await Cleanup();
            await AddNewPlayer();
            await UpdateGameAndAddPlayer();
        }
 public MerkReporting(MongoConfig mongo)
 {
     this.mongo = mongo;
 }