Ejemplo n.º 1
0
 public GenericWebHostService(IOptions <GenericWebHostServiceOptions> options,
                              IServer server,
                              ILoggerFactory loggerFactory,
                              DiagnosticListener diagnosticListener,
                              ActivitySource activitySource,
                              DistributedContextPropagator propagator,
                              IHttpContextFactory httpContextFactory,
                              IApplicationBuilderFactory applicationBuilderFactory,
                              IEnumerable <IStartupFilter> startupFilters,
                              IConfiguration configuration,
                              IWebHostEnvironment hostingEnvironment)
 {
     Options                   = options.Value;
     Server                    = server;
     Logger                    = loggerFactory.CreateLogger("Microsoft.AspNetCore.Hosting.Diagnostics");
     LifetimeLogger            = loggerFactory.CreateLogger("Microsoft.Hosting.Lifetime");
     DiagnosticListener        = diagnosticListener;
     ActivitySource            = activitySource;
     Propagator                = propagator;
     HttpContextFactory        = httpContextFactory;
     ApplicationBuilderFactory = applicationBuilderFactory;
     StartupFilters            = startupFilters;
     Configuration             = configuration;
     HostingEnvironment        = hostingEnvironment;
 }
Ejemplo n.º 2
0
 public GenericGtkHostService(IHost host,
                              IOptions <GenericGtkHostServiceOptions> options,
                              IApplicationBuilderFactory applicationBuilderFactory
                              )
 {
     _host   = host;
     Options = options.Value;
     ApplicationBuilderFactory = applicationBuilderFactory;
 }
Ejemplo n.º 3
0
 public HostingEngine(
     IServerManager serverManager,
     IStartupManager startupManager,
     IApplicationBuilderFactory builderFactory,
     IHttpContextFactory httpContextFactory)
 {
     _serverManager      = serverManager;
     _startupManager     = startupManager;
     _builderFactory     = builderFactory;
     _httpContextFactory = httpContextFactory;
 }
 public GenericWebHostService(IOptions <GenericWebHostServiceOptions> options,
                              IServer server,
                              ILogger <GenericWebHostService> logger,
                              DiagnosticListener diagnosticListener,
                              IHttpContextFactory httpContextFactory,
                              IApplicationBuilderFactory applicationBuilderFactory,
                              IEnumerable <IStartupFilter> startupFilters,
                              IConfiguration configuration,
                              IHostingEnvironment hostingEnvironment)
 {
     Options                   = options.Value;
     Server                    = server;
     Logger                    = logger;
     DiagnosticListener        = diagnosticListener;
     HttpContextFactory        = httpContextFactory;
     ApplicationBuilderFactory = applicationBuilderFactory;
     StartupFilters            = startupFilters;
     Configuration             = configuration;
     HostingEnvironment        = hostingEnvironment;
 }
Ejemplo n.º 5
0
 public GenericGameHostService(IOptions <GenericGameHostServiceOptions> options,
                               IServer server,
                               ILoggerFactory loggerFactory,
                               DiagnosticListener diagnosticListener,
                               IProtoContextFactory protoContextFactory,
                               IApplicationBuilderFactory applicationBuilderFactory,
                               IEnumerable <IStartupFilter> startupFilters,
                               IConfiguration configuration,
                               IGameHostEnvironment hostingEnvironment)
 {
     Options                   = options.Value;
     Server                    = server;
     Logger                    = loggerFactory.CreateLogger <GenericGameHostService>();
     LifetimeLogger            = loggerFactory.CreateLogger("Microsoft.Hosting.Lifetime");
     DiagnosticListener        = diagnosticListener;
     ProtoContextFactory       = protoContextFactory;
     ApplicationBuilderFactory = applicationBuilderFactory;
     StartupFilters            = startupFilters;
     Configuration             = configuration;
     HostingEnvironment        = hostingEnvironment;
 }
Ejemplo n.º 6
0
 public RegulatorApplicationBuilderFactory(IApplicationBuilderFactory instance)
 => this.instance = instance;
Ejemplo n.º 7
0
        private void EnsureBuilder(HostingContext context)
        {
            if (context.Builder != null)
            {
                return;
            }

            if (_builderFactory == null)
            {
                _builderFactory = context.ApplicationServices.GetRequiredService<IApplicationBuilderFactory>();
            }

            context.Builder = _builderFactory.CreateBuilder();
            context.Builder.ApplicationServices = context.ApplicationServices;
        }
        public static IApplicationBuilder MapStartup/*<TStartup>*/ (
            this IApplicationBuilder app,
            PathString path,
            IHostingEnvironment environment,
            IConfiguration configuration,
            Action <IServiceCollection> servicesConfiguration,
            Action <IApplicationBuilder> appBuilderConfiguration)
        // where TStartup : class
        {
            /*var webHost = new WebHostBuilder()
             *  .UseKestrel()
             *  .UseContentRoot(environment.ContentRootPath)
             *  .UseConfiguration(configuration)
             *  .ConfigureLogging((hostingContext, logging) =>
             *  {
             *      logging.AddSerilog(hostingContext.Configuration);
             *  })
             *  .UseStartup<TStartup>()
             *  .Build();*/

            IWebHost webHost = new WebHostBuilder()
                               .UseKestrel()
                               .UseContentRoot(environment.ContentRootPath)
                               .UseConfiguration(configuration)
                               .ConfigureServices(servicesConfiguration)
                               .ConfigureLogging((hostingContext, logging) =>
            {
                logging.AddSerilog(hostingContext.Configuration);
            })
                               .UseStartup <EmptyStartup>()
                               .Build();

            IServiceProvider   serviceProvider = webHost.Services;
            IFeatureCollection serverFeatures  = webHost.ServerFeatures;

            IApplicationBuilderFactory appBuilderFactory = serviceProvider
                                                           .GetRequiredService <IApplicationBuilderFactory>();

            IApplicationBuilder branchBuilder = appBuilderFactory
                                                .CreateBuilder(serverFeatures);

            IServiceScopeFactory factory = serviceProvider
                                           .GetRequiredService <IServiceScopeFactory>();

            branchBuilder.Use(async(context, next) =>
            {
                using (var scope = factory.CreateScope())
                {
                    context.RequestServices = scope.ServiceProvider;
                    await next();
                }
            });

            appBuilderConfiguration(branchBuilder);

            RequestDelegate branchDelegate = branchBuilder.Build();

            return(app.Map(path, builder =>
            {
                builder.Use(async(context, next) =>
                {
                    await branchDelegate(context);
                });
            }));
        }