public static void Main(string[] args) { //CreateHostBuilder(args).Build().Run(); _logger = LogManager.GetCurrentClassLogger(); try { IWebHost host = CreateWebHost(args); host.Start(); #region Services var connectionService = (IConnectionService)host.Services.GetService(typeof(IConnectionService)); var typeEvaluateService = (IUITypeEvaluateService)host.Services.GetService(typeof(IUITypeEvaluateService)); connectionService.ScheduleConnectionInitialize(TimeSpan.FromSeconds(5), "UI_Blazor"); //initialize connection without user input typeEvaluateService.Initialize(); #endregion host.WaitForShutdown(); } catch (Exception ex) { _logger.Error("Something goes wrong", ex); } finally { LogManager.Shutdown(); } }
public static int Main(string[] args) { GCSettings.LatencyMode = GCLatencyMode.SustainedLowLatency; try { IWebHost host = InitializationWorker.Run(args.Length == 0 ? null : args[0]).Result; Console.WriteLine("Initialization Finished"); Collect(true); WarmUpWorker.Run(); Collect(true); Collect(true); Collect(true); //Stats.Print(); UnsafeStringContainer.PrintUsage(); host.WaitForShutdown(); } catch (Exception e) { Console.WriteLine(e); return(-1); } Console.WriteLine("Application exited"); return(0); }
public static void Main(string[] args) { IWebHost apiHost = ApiHostBuilder.Build(); apiHost.Start(); apiHost.WaitForShutdown(); }
public static void Main(string[] args) { if (args.Length > 0) { PipeServerName = args[0]; Console.WriteLine("Pipe server: {0}", PipeServerName); } using (IWebHost host = CreateWebHostBuilder(args).Build()) { host.Start(); using (var client = new HttpClient()) { string url = $"http://localhost:5000"; Console.WriteLine($"Starting request to {url}"); try { HttpResponseMessage response = client.GetAsync(url).GetAwaiter().GetResult(); } catch (HttpRequestException ex) { Console.WriteLine(ex.ToString()); } } host.WaitForShutdown(); } }
public static void Main(string[] args) { Heartbeat.Instance.InitHeartbeat("Products REST-API"); Heartbeat.Instance.Start(); Messenger.CreateInstance("Products", makeVerbose: true); Messenger.Instance.SetupListener <List <ProductUpdate> >((List <ProductUpdate> updates) => { foreach (ProductUpdate productUpdate in updates) { SQL_Interface.Instance.ReduceItemQuantity(productUpdate); } }, Messenger.MessageType.ProductUpdates); try { IWebHost host = CreateWebHostBuilder(args).Build(); host.RunAsync(); host.WaitForShutdown();; } finally { Messenger.DisposeInstance(); } }
public static void Main(string[] args) { //LogManager.Configuration = new NLog.Config.XmlLoggingConfiguration("", true); _logger = LogManager.GetCurrentClassLogger(); try { IWebHost host = CreateWebHost(args); host.Start(); #region Services var connectionService = (IConnectionService)host.Services.GetService(typeof(IConnectionService)); connectionService.ScheduleConnectionInitialize(TimeSpan.FromSeconds(5), "Controller"); //initialize connection without user input #endregion host.WaitForShutdown(); } catch (Exception ex) { _logger.Error("Something goes wrong", ex); } finally { LogManager.Shutdown(); } //CreateWebHost(args).Build().Run(); }
public void Run() { StartWebHost(); try { _stopwatch.Restart(); _webHost.WaitForShutdown(); _stopwatch.Stop(); _logger.Warning("{ApplicationName} stopped after {ElapsedMs}ms", _serviceName, _stopwatch.ElapsedMilliseconds); } catch (Exception ex) { if (_stopwatch.IsRunning) { _stopwatch.Stop(); } _logger.Fatal(ex, "{ApplicationName} stopped unexpectedly after {ElapsedMs}ms", _serviceName, _stopwatch.ElapsedMilliseconds); throw; } finally { Log.CloseAndFlush(); } }
private void RunWebHost() { try { _logger.Info($"{nameof(AspNetHttp)}.{nameof(RunWebHost)}", new LogItem("Event", "Building ASP.NET Web Host")); _webHost = CreateWebHostBuilder().Build(); _webHost.Start(); foreach (var address in _webHost.ServerFeatures.Get <IServerAddressesFeature>().Addresses) { var url = new Uri(address); _logger.Info($"{nameof(AspNetHttp)}.{nameof(RunWebHost)}", new LogItem("Event", "WebHost started"), new LogItem("Url", url.ToString())); } _webHost.WaitForShutdown(); } catch (Exception e) { _logger.Fatal($"{nameof(AspNetHttp)}.{nameof(RunWebHost)}", new LogItem("Event", "Unhandled exception"), new LogItem("Exception", e.Message), new LogItem("StackTrace", e.StackTrace)); } }
public void WaitForShutdown() { while (host == null) { Thread.Sleep(100); } host.WaitForShutdown(); }
public static void Main(string[] args) { Heartbeat.Instance.InitHeartbeat("Cart REST-API"); Heartbeat.Instance.Start(); Messenger.CreateInstance("Cart", makeVerbose: true); try { IWebHost host = CreateWebHostBuilder(args).Build(); host.RunAsync(); host.WaitForShutdown(); } finally { Messenger.DisposeInstance(); } }
/// <summary> /// Cleanup the server. /// </summary> protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { if (host != null) { host.StopAsync(); host.WaitForShutdown(); host.Dispose(); host = null; } } disposedValue = true; } }
/// <summary> /// Cleanup the server. /// </summary> protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { if (_selfHostServer != null) { #if NETCORE _selfHostServer.StopAsync(); _selfHostServer.WaitForShutdown(); #endif _selfHostServer.Dispose(); _selfHostServer = null; } } disposedValue = true; } }
public static void Main(string[] args) { Heartbeat.Instance.InitHeartbeat("Orders REST-API"); Heartbeat.Instance.Start(); // Listen for Carts published on the newOrders channel. // Send this cart to the database. Messenger.CreateInstance("Orders", makeVerbose: true); Messenger.Instance.pn.AddListener(new OrdersPubnubCallback()); Messenger.Instance.pn.Subscribe <string>() .Channels(new string[] { Messenger.MessageType.NewOrders.ToString(), Messenger.MessageType.ProductChanges.ToString() }) .Execute(); // Setup WebServer try { IWebHost host = CreateWebHostBuilder(args).Build(); host.RunAsync(); host.WaitForShutdown(); } finally { Messenger.DisposeInstance(); } }
public void Dispose() { _webHost.StopAsync(); _webHost.WaitForShutdown(); }
public static void OnTermination(object sender, EventArgs e) { _webHost.StopAsync(); _webHost.WaitForShutdown(); }
static void Main(string[] args) { if (args.Length > 0 && args[0] == "run") { args = args.Skip(1).ToArray(); // Hack to make dotnet watch work } ServicePointManager.DefaultConnectionLimit = 100; IWebHost host = null; var processor = new ConsoleLoggerProcessor(); CustomConsoleLogProvider loggerProvider = new CustomConsoleLogProvider(processor); using var loggerFactory = new LoggerFactory(); loggerFactory.AddProvider(loggerProvider); var logger = loggerFactory.CreateLogger("Configuration"); Logs logs = new Logs(); logs.Configure(loggerFactory); IConfiguration conf = null; try { conf = new DefaultConfiguration() { Logger = logger }.CreateConfiguration(args); if (conf == null) { return; } var builder = new WebHostBuilder() .UseKestrel() .UseConfiguration(conf) .ConfigureLogging(l => { l.AddFilter("Microsoft", LogLevel.Error); if (!conf.GetOrDefault <bool>("verbose", false)) { l.AddFilter("Events", LogLevel.Warning); } l.AddFilter("System.Net.Http.HttpClient", LogLevel.Critical); l.AddFilter("Microsoft.AspNetCore.Antiforgery.Internal", LogLevel.Critical); l.AddFilter("Fido2NetLib.DistributedCacheMetadataService", LogLevel.Error); l.AddProvider(new CustomConsoleLogProvider(processor)); }) .UseStartup <Startup>(); // When we run the app with dotnet run (typically in dev env), the wwwroot isn't in the same directory // than this assembly. // But when we use dotnet publish, the wwwroot is published alongside the assembly! // This fix https://github.com/btcpayserver/btcpayserver/issues/1894 var defaultContentPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var defaultWebRoot = Path.Combine(defaultContentPath, "wwwroot"); var defaultWebRootExists = Directory.Exists(defaultWebRoot); if (!defaultWebRootExists) { // When we use dotnet run... builder.UseContentRoot(Directory.GetCurrentDirectory()); } host = builder.Build(); host.StartWithTasksAsync().GetAwaiter().GetResult(); var urls = host.ServerFeatures.Get <IServerAddressesFeature>().Addresses; foreach (var url in urls) { // Some tools such as dotnet watch parse this exact log to open the browser logger.LogInformation("Now listening on: " + url); } host.WaitForShutdown(); } catch (ConfigException ex) { if (!string.IsNullOrEmpty(ex.Message)) { logs.Configuration.LogError(ex.Message); } } catch (Exception e) when(PluginManager.IsExceptionByPlugin(e)) { var pluginDir = new DataDirectories().Configure(conf).PluginDir; PluginManager.DisablePlugin(pluginDir, e.Source); } finally { processor.Dispose(); if (host == null) { logs.Configuration.LogError("Configuration error"); } if (host != null) { host.Dispose(); } Serilog.Log.CloseAndFlush(); loggerProvider.Dispose(); } }
public void WaitForShutdown() { host.WaitForShutdown(); }