Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / ServiceDiscoveryElement.cs / 1305376 / ServiceDiscoveryElement.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System.Configuration; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Configuration; using System.ServiceModel.Description; using SR2 = System.ServiceModel.Discovery.SR; public sealed class ServiceDiscoveryElement : BehaviorExtensionElement { ConfigurationPropertyCollection properties; public ServiceDiscoveryElement() { } [ConfigurationProperty(ConfigurationStrings.AnnouncementEndpoints)] public AnnouncementChannelEndpointElementCollection AnnouncementEndpoints { get { return (AnnouncementChannelEndpointElementCollection)base[ConfigurationStrings.AnnouncementEndpoints]; } } [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationPropertyAttributeRule, Justification = "This property is defined by the base class to determine the type of the behavior.")] public override Type BehaviorType { get { return typeof(ServiceDiscoveryBehavior); } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); properties.Add( new ConfigurationProperty( ConfigurationStrings.AnnouncementEndpoints, typeof(AnnouncementChannelEndpointElementCollection), null, null, null, ConfigurationPropertyOptions.None)); this.properties = properties; } return this.properties; } } protected internal override object CreateBehavior() { ServiceDiscoveryBehavior serviceDiscoveryBehavior = new ServiceDiscoveryBehavior(); AnnouncementEndpoint announcementEndpoint; foreach (ChannelEndpointElement channelEndpointElement in this.AnnouncementEndpoints) { if (string.IsNullOrEmpty(channelEndpointElement.Kind)) { throw FxTrace.Exception.AsError( new ConfigurationErrorsException( SR2.DiscoveryConfigAnnouncementEndpointMissingKind( typeof(AnnouncementEndpoint).FullName))); } ServiceEndpoint serviceEndpoint = ConfigLoader.LookupEndpoint(channelEndpointElement, null); if (serviceEndpoint == null) { throw FxTrace.Exception.AsError( new ConfigurationErrorsException( SR2.DiscoveryConfigInvalidEndpointConfiguration( channelEndpointElement.Kind))); } announcementEndpoint = serviceEndpoint as AnnouncementEndpoint; if (announcementEndpoint == null) { throw FxTrace.Exception.AsError( new InvalidOperationException( SR2.DiscoveryConfigInvalidAnnouncementEndpoint( channelEndpointElement.Kind, serviceEndpoint.GetType().FullName, typeof(AnnouncementEndpoint).FullName))); } serviceDiscoveryBehavior.AnnouncementEndpoints.Add(announcementEndpoint); } return serviceDiscoveryBehavior; } } } // 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
- ServiceHostingEnvironment.cs
- UnitySerializationHolder.cs
- SelectedDatesCollection.cs
- DetailsViewInsertEventArgs.cs
- httpapplicationstate.cs
- HighlightVisual.cs
- StrongBox.cs
- RuntimeWrappedException.cs
- ComponentConverter.cs
- SerializationSectionGroup.cs
- AssemblyAssociatedContentFileAttribute.cs
- EntityContainer.cs
- CrossSiteScriptingValidation.cs
- XmlDataSourceView.cs
- RectAnimationBase.cs
- QilDataSource.cs
- EmbossBitmapEffect.cs
- NewExpression.cs
- IntAverageAggregationOperator.cs
- SelectorItemAutomationPeer.cs
- StringPropertyBuilder.cs
- Hyperlink.cs
- ExtenderProvidedPropertyAttribute.cs
- SecurityAlgorithmSuite.cs
- BuildProvider.cs
- FileSystemInfo.cs
- ScrollableControl.cs
- ElementsClipboardData.cs
- TrackingServices.cs
- SQLInt64Storage.cs
- ComplexType.cs
- TableDesigner.cs
- MetadataItem.cs
- ValidationPropertyAttribute.cs
- CheckBoxStandardAdapter.cs
- HttpModuleAction.cs
- CheckBoxPopupAdapter.cs
- Pair.cs
- DocumentCollection.cs
- SqlGatherConsumedAliases.cs
- Empty.cs
- AgileSafeNativeMemoryHandle.cs
- DesignSurfaceEvent.cs
- KerberosSecurityTokenAuthenticator.cs
- EnumValidator.cs
- FixedSOMGroup.cs
- AttachedPropertyMethodSelector.cs
- PlaceHolder.cs
- LineSegment.cs
- SetStoryboardSpeedRatio.cs
- IProducerConsumerCollection.cs
- ReservationCollection.cs
- ObjectAssociationEndMapping.cs
- xmlsaver.cs
- Expressions.cs
- DataGridClipboardHelper.cs
- PTUtility.cs
- CounterSample.cs
- ReturnEventArgs.cs
- InvokeAction.cs
- returneventsaver.cs
- PropertyInformation.cs
- ErrorHandler.cs
- PropertyPathWorker.cs
- Soap.cs
- DoubleConverter.cs
- GuidelineCollection.cs
- TextEditorTables.cs
- SrgsRule.cs
- HttpBrowserCapabilitiesWrapper.cs
- Types.cs
- ManagedWndProcTracker.cs
- FileDocument.cs
- XPathNode.cs
- DefaultBindingPropertyAttribute.cs
- SourceSwitch.cs
- ECDiffieHellman.cs
- CodeLabeledStatement.cs
- SourceFileBuildProvider.cs
- SelectionItemProviderWrapper.cs
- _UncName.cs
- GenericUI.cs
- DataTable.cs
- SecureUICommand.cs
- Animatable.cs
- EntityDataSourceReferenceGroup.cs
- Pair.cs
- ReversePositionQuery.cs
- UriWriter.cs
- AlphabetConverter.cs
- SplashScreen.cs
- CanonicalizationDriver.cs
- DataGridViewButtonColumn.cs
- DocumentViewerAutomationPeer.cs
- MailWebEventProvider.cs
- WmfPlaceableFileHeader.cs
- ExtensionElementCollection.cs
- Walker.cs
- DoWorkEventArgs.cs
- FunctionDescription.cs