public EnvironmentVariableHost(Context context, CrossProcessSecretsCommunicationKind secretsCommunicationKind = CrossProcessSecretsCommunicationKind.Environment) { _secretsCommunicationKind = secretsCommunicationKind; _tracingContext = context; }
/// <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, DistributedCacheServiceConfiguration configuration, HostParameters hostParameters, Context context, CrossProcessSecretsCommunicationKind secretsCommunicationKind = CrossProcessSecretsCommunicationKind.Environment) : base(context, secretsCommunicationKind) { HostParameters = hostParameters; ServiceConfiguration = configuration; WebHostBuilder = Host.CreateDefaultBuilder(commandLineArgs) .ConfigureWebHostDefaults(webBuilder => { if (UseGrpc) { webBuilder.ConfigureLogging(l => { l.ClearProviders(); // This is left for future reference if ASP.NET logging needs to be enabled //l.AddProvider(new LoggingAdapter("ASPNET", context)); }); webBuilder.ConfigureKestrel(o => { int?port = null; var proxyConfiguration = WebHost.Services.GetService <ProxyServiceConfiguration>(); if (UseGrpc) { port = (int)ServiceConfiguration.LocalCasSettings.ServiceSettings.GrpcPort; } else if (proxyConfiguration == null) { port = proxyConfiguration.Port; } o.ConfigureEndpointDefaults(listenOptions => { listenOptions.Protocols = HttpProtocols.Http2; }); if (port.HasValue) { o.ListenAnyIP(port.Value); } }); } webBuilder.UseStartup <CacheServiceStartup>(); }); }