public static Task RunAsync(string[] args, CancellationToken token) { if (args.ElementAtOrDefault(0)?.Equals("cacheService", StringComparison.OrdinalIgnoreCase) == true) { args = args.Skip(1).ToArray(); return(DeploymentProxyStartup.RunWithCacheServiceAsync(args, token)); } return(CreateHostBuilder(args).Build().RunAsync(token)); }
/// <summary> /// Constructs the service host and takes command line arguments because /// ASP.Net core application host is used to parse command line. /// </summary> public ServiceHost(string[] commandLineArgs) { var hostBuilder = Host.CreateDefaultBuilder(commandLineArgs) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <DeploymentProxyStartup>(); }); hostBuilder.ConfigureHostConfiguration(cb => cb.Add(ConfigurationSource)); DeploymentProxyStartup.UseExternalServices(hostBuilder, OperationContext, HostParameters); ProxyHost = hostBuilder.Build(); }