private void SetOnlineConfiguration() { string uriString = Datacenter.IsGallatinDatacenter() ? GetIntraOrganizationConfiguration.GallatinAutoDiscoveryEndpoint : GetIntraOrganizationConfiguration.ProdAutoDiscoveryEndpoint; this.configuration.OnlineDiscoveryEndpoint = new Uri(uriString); IConfigurationSession configurationSession = base.DataSession as IConfigurationSession; AcceptedDomain[] source = configurationSession.Find <AcceptedDomain>(base.CurrentOrganizationId.ConfigurationUnit, QueryScope.SubTree, null, null, 0); List <AcceptedDomain> list = (from domain in source where domain.IsCoexistenceDomain select domain).ToList <AcceptedDomain>(); if (list.Count == 1) { this.configuration.OnlineTargetAddress = list.First <AcceptedDomain>().DomainName.ToString(); } else if (list.Count > 1) { base.ThrowTerminatingError(new MultipleCoexistenceDomainsFoundException(), ErrorCategory.InvalidData, null); } QueryFilter filter = null; if (this.OrganizationGuid != null) { Guid guid; if (Guid.TryParse(this.OrganizationGuid.ToString(), out guid)) { filter = new ComparisonFilter(ComparisonOperator.Equal, OnPremisesOrganizationSchema.OrganizationGuid, guid); } else { base.ThrowTerminatingError(new ArgumentException(Strings.InvalidOrganizationGuid(this.OrganizationGuid.ToString())), ErrorCategory.InvalidData, null); } } OnPremisesOrganization[] source2 = configurationSession.Find <OnPremisesOrganization>(base.CurrentOrganizationId.ConfigurationUnit, QueryScope.SubTree, filter, null, 0); int num = source2.Count <OnPremisesOrganization>(); if (num == 1) { this.configuration.OnPremiseTargetAddresses = source2.First <OnPremisesOrganization>().HybridDomains; return; } if (num > 1) { base.ThrowTerminatingError(new MultipleOnPremisesOrganizationsFoundException(), ErrorCategory.ObjectNotFound, null); return; } this.WriteWarning(Strings.OnPremisesConfigurationObjectNotFound); }