示例#1
0
        public static void InjectCommonMiddlewares(IApplicationBuilder applicationBuilder, IHostEnvironment environment)
        {
            ServiceConfigurationModel serviceInformations = GetServiceInformations();

            // logger.LogInformation($"{serviceInformations.ServiceNameWithVersion} starting ...");

            if (environment.IsEnvironment("Docker") || environment.IsEnvironment("Compose") || environment.IsDevelopment())
            {
                applicationBuilder.UseDeveloperExceptionPage();
                //  app.UseDatabaseErrorPage();
            }
            applicationBuilder.UseRouting();
            applicationBuilder.UseAuthentication();
            applicationBuilder.UseAuthorization();
            applicationBuilder.UseServiceSwaggerUI();
            applicationBuilder.RegisterCorsMiddleware();

            applicationBuilder.UseEndpoints(endpoints =>
            {
                if (serviceInformations.IsApi)
                {
                    endpoints.MapControllers();
                }
                else
                {
                    endpoints.MapDefaultControllerRoute();
                }
            });
        }
示例#2
0
        public static void Initialize <TStartup>(string[] args)
            where TStartup : class
        {
            ILogger logger = LoggerFactory.Create(x =>
            {
                x.AddConsole();
                x.AddConfiguration();
            }).CreateLogger("Boot");

            ServiceConfigurationModel serviceInformations = GetServiceInformations();

            try
            {
                Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    var serviceInfo = GetServiceInformations(true);

                    webBuilder.UseStartup <TStartup>()
                    .ConfigureLogging(logConfig =>
                    {
                        if (serviceInfo.IsAzureServiceApp)
                        {
                            logConfig.AddAzureWebAppDiagnostics();
                        }
                    });
                })
                .Build()
                .Run();
                logger.LogInformation($"{serviceInformations.ServiceNameWithVersion}) started successfully");
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"{serviceInformations.ServiceNameWithVersion}) stopped by error.");
                throw;
            }
        }