/// <summary> /// Optional override to create listeners (like tcp, http) for this service instance. /// </summary> /// <returns>The collection of listeners.</returns> protected override IEnumerable <ServiceInstanceListener> CreateServiceInstanceListeners() { var configuration = GetConfiguration(); Log.Logger = CreateSerilogLogger(configuration); return(new ServiceInstanceListener[] { new ServiceInstanceListener(serviceContext => new KestrelCommunicationListener(serviceContext, "ServiceEndpoint", (url, listener) => { ServiceEventSource.Current.ServiceMessage(serviceContext, $"Starting Kestrel on {url}"); var host = new WebHostBuilder() .UseKestrel() .ConfigureServices( services => services .AddSingleton <StatelessServiceContext>(serviceContext)) .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup <Startup>() .UseConfiguration(configuration) .UseSerilog() .UseApplicationInsights() .UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.None) .UseUrls(url) .Build(); host.MigrateDbContext <PersistedGrantDbContext>((_, __) => { }) .MigrateDbContext <ApplicationDbContext>((context, services) => { var env = services.GetService <IHostingEnvironment>(); var logger = services.GetService <ILogger <ApplicationDbContextSeed> >(); var settings = services.GetService <IOptions <AppSettings> >(); new ApplicationDbContextSeed() .SeedAsync(context, env, logger, settings) .Wait(); }) .MigrateDbContext <ConfigurationDbContext>((context, services) => { new ConfigurationDbContextSeed() .SeedAsync(context, configuration) .Wait(); }); return host; })) }); }
/// <summary> /// Optional override to create listeners (like tcp, http) for this service instance. /// </summary> /// <returns>The collection of listeners.</returns> protected override IEnumerable <ServiceInstanceListener> CreateServiceInstanceListeners() { var configuration = GetConfiguration(); Log.Logger = CreateSerilogLogger(configuration); return(new ServiceInstanceListener[] { new ServiceInstanceListener(serviceContext => new KestrelCommunicationListener(serviceContext, "ServiceEndpoint", (url, listener) => { ServiceEventSource.Current.ServiceMessage(serviceContext, $"Starting Kestrel on {url}"); var host = new WebHostBuilder() .UseKestrel() .ConfigureServices( services => services .AddSingleton <StatelessServiceContext>(serviceContext)) .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup <Startup>().UseWebRoot("Pics") .UseConfiguration(configuration) .UseSerilog() .UseApplicationInsights() .UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.None) .UseUrls(url) .Build(); ServiceEventSource.Current.ServiceMessage(serviceContext, $"Applying migrations ({AppName})..."); host.MigrateDbContext <MarketingContext>((context, services) => { var logger = services.GetService <ILogger <MarketingContextSeed> >(); new MarketingContextSeed() .SeedAsync(context, logger) .Wait(); }); return host; })) }); }