Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / ConfigurationUtility.cs / 1305376 / ConfigurationUtility.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System.Configuration; using System.Runtime; using System.Security; using System.ServiceModel.Configuration; using System.ServiceModel.Description; using SR2 = System.ServiceModel.Discovery.SR; class ConfigurationUtility { public static ChannelEndpointElement GetDefaultDiscoveryEndpointElement() { return new ChannelEndpointElement() { Kind = ConfigurationStrings.UdpDiscoveryEndpoint }; } public static T LookupEndpoint(ChannelEndpointElement channelEndpointElement) where T : ServiceEndpoint { Fx.Assert(channelEndpointElement != null, "The parameter channelEndpointElement must be non null."); Fx.Assert(!string.IsNullOrEmpty(channelEndpointElement.Kind), "The Kind property of the specified channelEndpointElement parameter cannot be null or empty."); return ConfigLoader.LookupEndpoint(channelEndpointElement, null) as T; } internal static void InitializeAndValidateUdpChannelEndpointElement(ChannelEndpointElement channelEndpointElement) { if (!String.IsNullOrEmpty(channelEndpointElement.Binding)) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigBindingSpecifiedForUdpDiscoveryEndpoint(channelEndpointElement.Kind)));; } if (!(channelEndpointElement.Address == null || String.IsNullOrEmpty(channelEndpointElement.Address.ToString()))) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigAddressSpecifiedForUdpDiscoveryEndpoint(channelEndpointElement.Kind))); } channelEndpointElement.Address = null; } internal static void InitializeAndValidateUdpServiceEndpointElement(ServiceEndpointElement serviceEndpointElement) { if (!String.IsNullOrEmpty(serviceEndpointElement.Binding)) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigBindingSpecifiedForUdpDiscoveryEndpoint(serviceEndpointElement.Kind)));; } if (!(serviceEndpointElement.Address == null || String.IsNullOrEmpty(serviceEndpointElement.Address.ToString()))) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigAddressSpecifiedForUdpDiscoveryEndpoint(serviceEndpointElement.Kind))); } serviceEndpointElement.Address = null; if (serviceEndpointElement.ListenUri != null) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigListenUriSpecifiedForUdpDiscoveryEndpoint(serviceEndpointElement.Kind))); } } [Fx.Tag.SecurityNote(Critical = "it is calling the SecurityCritical method to load client configuration section", Safe = "no configuration objects are leaked")] [SecuritySafeCritical] internal static TEndpoint LookupEndpointFromClientSection (string endpointConfigurationName) where TEndpoint : ServiceEndpoint { Fx.Assert(endpointConfigurationName != null, "The endpointConfigurationName parameter must be non null."); TEndpoint retval = default(TEndpoint); bool wildcard = string.Equals(endpointConfigurationName, "*", StringComparison.Ordinal); ClientSection clientSection = ClientSection.GetSection(); foreach (ChannelEndpointElement channelEndpointElement in clientSection.Endpoints) { if (string.IsNullOrEmpty(channelEndpointElement.Kind)) { continue; } if (endpointConfigurationName == channelEndpointElement.Name || wildcard) { TEndpoint endpoint = LookupEndpoint (channelEndpointElement); if (endpoint != null) { if (retval != null) { if (wildcard) { throw FxTrace.Exception.AsError( new InvalidOperationException( SR2.DiscoveryConfigMultipleEndpointsMatchWildcard( typeof(TEndpoint).FullName, clientSection.SectionInformation.SectionName))); } else { throw FxTrace.Exception.AsError( new InvalidOperationException( SR2.DiscoveryConfigMultipleEndpointsMatch( typeof(TEndpoint).FullName, endpointConfigurationName, clientSection.SectionInformation.SectionName))); } } else { retval = endpoint; } } } } if (retval == null) { if (wildcard) { throw FxTrace.Exception.AsError( new InvalidOperationException( SR2.DiscoveryConfigNoEndpointsMatchWildcard( typeof(TEndpoint).FullName, clientSection.SectionInformation.SectionName))); } else { throw FxTrace.Exception.AsError( new InvalidOperationException( SR2.DiscoveryConfigNoEndpointsMatch( typeof(TEndpoint).FullName, endpointConfigurationName, clientSection.SectionInformation.SectionName))); } } return retval; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ColumnReorderedEventArgs.cs
- ConfigurationPermission.cs
- SqlDataRecord.cs
- XmlSchemaAppInfo.cs
- XmlRawWriter.cs
- ZoneMembershipCondition.cs
- XmlAttributeCollection.cs
- ExpandSegmentCollection.cs
- CompositeFontInfo.cs
- EpmTargetPathSegment.cs
- ParentQuery.cs
- GenerateScriptTypeAttribute.cs
- Grant.cs
- UnauthorizedAccessException.cs
- BuildDependencySet.cs
- WrappedDispatcherException.cs
- WindowsProgressbar.cs
- CubicEase.cs
- SqlDataSourceEnumerator.cs
- SqlDataSourceAdvancedOptionsForm.cs
- WebPartCatalogCloseVerb.cs
- SoapInteropTypes.cs
- BamlRecordWriter.cs
- NativeDirectoryServicesQueryAPIs.cs
- _NetworkingPerfCounters.cs
- JpegBitmapDecoder.cs
- LinkedList.cs
- ParallelTimeline.cs
- SchemaTableColumn.cs
- SaveFileDialog.cs
- HwndSourceParameters.cs
- QuadraticBezierSegment.cs
- ExceptionUtility.cs
- ApplicationCommands.cs
- WeakEventManager.cs
- ProfilePropertyMetadata.cs
- MediaPlayer.cs
- WindowsScrollBarBits.cs
- StaticContext.cs
- CannotUnloadAppDomainException.cs
- FileLevelControlBuilderAttribute.cs
- CqlGenerator.cs
- TabRenderer.cs
- RuntimeCompatibilityAttribute.cs
- CodeChecksumPragma.cs
- GridProviderWrapper.cs
- ItemCollection.cs
- PackageRelationship.cs
- UIElementParaClient.cs
- DataViewSetting.cs
- HwndPanningFeedback.cs
- CrossSiteScriptingValidation.cs
- HwndSource.cs
- FilteredSchemaElementLookUpTable.cs
- DataGridDetailsPresenterAutomationPeer.cs
- MetaType.cs
- DuplexSecurityProtocolFactory.cs
- coordinator.cs
- FormsAuthenticationModule.cs
- FocusManager.cs
- PrintSystemException.cs
- ProfileGroupSettings.cs
- ListDictionary.cs
- InputEventArgs.cs
- WindowClosedEventArgs.cs
- CapacityStreamGeometryContext.cs
- EntitySqlQueryBuilder.cs
- WebResponse.cs
- SerializationException.cs
- MasterPageCodeDomTreeGenerator.cs
- TreeBuilderXamlTranslator.cs
- SimplePropertyEntry.cs
- PartitionerQueryOperator.cs
- WebScriptEndpointElement.cs
- EdmType.cs
- UIElementParagraph.cs
- BindingFormattingDialog.cs
- TrustLevelCollection.cs
- DrawItemEvent.cs
- SmtpAuthenticationManager.cs
- WmlCommandAdapter.cs
- SystemGatewayIPAddressInformation.cs
- WebConfigurationManager.cs
- Brush.cs
- RuntimeConfig.cs
- CapabilitiesPattern.cs
- FormsAuthenticationConfiguration.cs
- XmlTextAttribute.cs
- DodSequenceMerge.cs
- MdImport.cs
- RotateTransform.cs
- DBDataPermission.cs
- UpdatePanelTriggerCollection.cs
- ToolStripOverflowButton.cs
- ProviderSettings.cs
- XmlUtil.cs
- WebBrowserUriTypeConverter.cs
- EntityContainerEntitySet.cs
- ResourceReader.cs
- GeneralTransform3D.cs