Example #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            services.AddMediatR(typeof(Startup).GetTypeInfo().Assembly);
            services.AddDbContext <DatabaseContext>(options =>
            {
                string conString =
                    ConfigurationExtensions
                    .GetConnectionString(Configuration, "DefaultConnection");

                Console.WriteLine(conString);

                options.UseSqlServer(conString);
            }, ServiceLifetime.Scoped);

            services.Configure <JwtConfigurationSettings>(Configuration.GetSection("Jwt"));
            services.AddTransient(typeof(IDatabaseContext), InitializeDatabaseContext.ResolveDatabaseContextType());
            services
            .AddHealthChecks()
            .AddCheck <DatabaseHealthCheck>("MsSql database exists check", failureStatus: HealthStatus.Degraded);

            services.AddTransient <IValidator <User>, UserValidator>();
            services.AddTransient <IValidator <CreateUserRequest>, CreateUserRequestValidator>();

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info {
                    Title = "My API", Version = "v1"
                });
            });
        }
Example #2
0
        static void Main(string[] args)
        {
            IConfiguration config = new ConfigurationBuilder()
                                    .SetBasePath(Directory.GetCurrentDirectory())
                                    .AddJsonFile("appsettings.json", false, true)
                                    .Build();
            var services = new ServiceCollection();

            services.AddTransient <MongoDatabaseContext>();
            services.AddTransient(typeof(IDatabaseContext), InitializeDatabaseContext.ResolveDatabaseContextType());
            services.AddTransient <ExternalUsersSync>();
            services.AddDbContext <DatabaseContext>(options =>
            {
                string conString =
                    ConfigurationExtensions
                    .GetConnectionString(config, "DefaultConnection");

                Console.WriteLine(conString);

                options.UseSqlServer(conString);
            }, ServiceLifetime.Scoped);

            services.AddLogging(loggingBuilder =>
            {
                loggingBuilder.AddSeq(config.GetSection("Seq"));
            });

            services.AddQuartz();
            var serviceProvider = services.BuildServiceProvider();

            Task.Run(async() => await StartQuartz.Start(serviceProvider));
            Console.ReadLine();
        }
Example #3
0
        static async Task Main(string[] args)
        {
            IConfiguration config = new ConfigurationBuilder()
                                    .SetBasePath(Directory.GetCurrentDirectory())
                                    .AddJsonFile("appsettings.json", false, true)
                                    .Build();
            var services = new ServiceCollection();

            services.AddTransient(typeof(IDatabaseContext), InitializeDatabaseContext.ResolveDatabaseContextType());
            //services.AddTransient<ExternalUsersSync>();
            services.AddDbContext <DatabaseContext>(options =>
            {
                string conString =
                    ConfigurationExtensions
                    .GetConnectionString(config, "DefaultConnection");

                Console.WriteLine(conString);

                options.UseSqlServer(conString);
            }, ServiceLifetime.Scoped);

            services.AddTransient <IEventHandler, CreateUserEventHandler>();
            services.AddTransient <QueueConnection>();

            services.AddLogging(loggingBuilder =>
            {
                loggingBuilder.AddSeq(config.GetSection("Seq"));
            });

            var provider = services.BuildServiceProvider();
            var queue    = provider.GetService <QueueConnection>();

            var cts = new CancellationTokenSource();

            Task.Run(async() => {
                queue.Connect(cts.Token);
            });
            Console.WriteLine("Publish message?");
            await queue.Publish(Console.ReadLine());

            Console.WriteLine("Terminate?");
            Console.ReadLine();
            cts.Cancel();
        }