public static void Main(string[] args) { StartGCTimer(); var SINGLE_TENANT_ID = CloudFoundryEnvironmentUtil.GetTenantIdFromEnv(); var SINGLE_TENANT_TYPE = CloudFoundryEnvironmentUtil.GetTenantTypeFromEnv(); Program.INSTANCE_GUID = CloudFoundryEnvironmentUtil.GetInstanceGuidFromEnv(); Program.INSTANCE_IP = CloudFoundryEnvironmentUtil.GetInstanceIpFromEnv(); Program.INSTANCE_PORT = CloudFoundryEnvironmentUtil.GetInstancePortFromEnv(); Program.cloudFoundryVcapApplication = CloudFoundryEnvironmentUtil.GetApplicationFromEnv(); Program.cloudFoundryVcapServices = CloudFoundryEnvironmentUtil.GetServicesFromEnv(); Program.InstanceConfig = ConfigurationHelper.Load(cloudFoundryVcapApplication, Program.INSTANCE_GUID); if (Program.InstanceConfig != null && Program.cloudFoundryVcapApplication != null && Program.cloudFoundryVcapApplication.ApplicationUrls.Count > 0) { Program.InstanceConfig.Urls = Program.cloudFoundryVcapApplication.ApplicationUrls[0]; } if (!string.IsNullOrEmpty(SINGLE_TENANT_ID) && !string.IsNullOrEmpty(SINGLE_TENANT_TYPE)) { Tenant singleTenant = new Tenant() { TenantId = SINGLE_TENANT_ID }; Tenants.Add(singleTenant); } CreateWebHostBuilder(args).Build().Run(); }
public static ConfigurationData Load(CloudFoundryVcapApplication cfApp, string instanceGuid = "") { var conf = new ConfigurationData() { ServerInstanceID = Guid.NewGuid().ToString(), ClientDeactivateInSecs = DefaultConfigurationData.DefaultClientDeactivateInSecs, EvictionTimerIntervalInSecs = DefaultConfigurationData.DefaultEvictionTimerIntervalInSecs, PeerEvictionInSecs = DefaultConfigurationData.DefaultPeerEvictionInSecs, PeerMinHeartbeatInSecs = DefaultConfigurationData.DefaultPeerMinHeartbeatInSecs, PeerHeartbeatBeforeEvictionInSecs = DefaultConfigurationData.DefaultPeerHeartbeatBeforeEvictionInSecs, EvictionInSecs = DefaultConfigurationData.DefaultEvictionInSecs, RenewalIntervalInSecs = DefaultConfigurationData.DefaultRenewalIntervalInSecs, DurationInSecs = DefaultConfigurationData.DefaultDurationInSecs, PersistencyType = DefaultConfigurationData.DefaultPersistencyType, PersistencyHostName = DefaultConfigurationData.DefaultPersistencyHostName, PersistencyPort = DefaultConfigurationData.DefaultPersistencyPort, PersistencyUsername = DefaultConfigurationData.DefaultPersistencyUsername, PersistencyPassword = DefaultConfigurationData.DefaultPersistencyPassword, PersistencyDBName = DefaultConfigurationData.DefaultPersistencyDBName, PersistencySyncWaitSeconds = DefaultConfigurationData.DefaultPersistencySyncWaitSeconds, PersistencySyncMinRandomSeconds = DefaultConfigurationData.DefaultPersistencySyncMinRandomSeconds, PersistencySyncMaxRandomSeconds = DefaultConfigurationData.DefaultPersistencySyncMaxRandomSeconds }; if (cfApp != null) { if (string.IsNullOrEmpty(instanceGuid)) { conf.ServerInstanceID = cfApp.ApplicationId + "-" + cfApp.InstanceIndex; } else { conf.ServerInstanceID = instanceGuid; } } return(conf); }
public static CloudFoundryVcapApplication GetApplicationFromEnv() { CloudFoundryVcapApplication app = null; // get VCAP_APPLICATION try { var VCAP_APPLICATION = Environment.GetEnvironmentVariable("VCAP_APPLICATION"); Console.WriteLine("VCAP_APPLICATION : " + VCAP_APPLICATION); if (VCAP_APPLICATION != null) { var vcapApp = JsonConvert.DeserializeObject <CloudFoundryVcapApplication>(VCAP_APPLICATION, NServiceDiscoveryJsonSerializerSettings.IgnoreMissingPropetiesSettings); app = vcapApp; } } catch (Exception err) { app = null; Console.WriteLine("VCAP_APPLICATION ERROR : " + err.Message); } return(app); }