示例#1
0
        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();
            }