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
- ToolBarOverflowPanel.cs
- SignedXml.cs
- MetabaseServerConfig.cs
- CodeTypeReferenceSerializer.cs
- NonParentingControl.cs
- CollectionBuilder.cs
- DeflateEmulationStream.cs
- ControlBuilderAttribute.cs
- SettingsPropertyNotFoundException.cs
- RealizedColumnsBlock.cs
- SHA1.cs
- LinqExpressionNormalizer.cs
- ScalarConstant.cs
- StringSorter.cs
- StringAttributeCollection.cs
- StringDictionaryEditor.cs
- XmlUtil.cs
- WebConfigurationFileMap.cs
- LOSFormatter.cs
- ReaderWriterLock.cs
- XXXInfos.cs
- XsltSettings.cs
- VariableAction.cs
- Quaternion.cs
- GCHandleCookieTable.cs
- ListItemCollection.cs
- SafeEventLogWriteHandle.cs
- LinkArea.cs
- DecoratedNameAttribute.cs
- DataRelation.cs
- FixedHighlight.cs
- BooleanConverter.cs
- RegexReplacement.cs
- AsyncDataRequest.cs
- ProcessingInstructionAction.cs
- RoleService.cs
- SessionStateUtil.cs
- Utils.cs
- TabItem.cs
- SourceLineInfo.cs
- NamedPipeAppDomainProtocolHandler.cs
- CodeDOMUtility.cs
- DBNull.cs
- SqlDependencyListener.cs
- webproxy.cs
- ValidationError.cs
- CapabilitiesState.cs
- QueryContinueDragEventArgs.cs
- WsdlBuildProvider.cs
- StreamWithDictionary.cs
- RemotingSurrogateSelector.cs
- MenuItemBinding.cs
- AnchorEditor.cs
- AttachedPropertiesService.cs
- ExtendedPropertiesHandler.cs
- WebPartConnectVerb.cs
- GenericEnumerator.cs
- QilVisitor.cs
- Point3DAnimationBase.cs
- AdornedElementPlaceholder.cs
- DictionaryKeyPropertyAttribute.cs
- WinHttpWebProxyFinder.cs
- OperationCanceledException.cs
- OciEnlistContext.cs
- DataServices.cs
- DataRecordObjectView.cs
- Attachment.cs
- SqlDataReader.cs
- IUnknownConstantAttribute.cs
- ToolStripDropDownClosedEventArgs.cs
- Bezier.cs
- LicFileLicenseProvider.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- IDataContractSurrogate.cs
- StylusDevice.cs
- ArraySubsetEnumerator.cs
- BitmapEffectvisualstate.cs
- XsdCachingReader.cs
- StrongNamePublicKeyBlob.cs
- SemanticResolver.cs
- entityreference_tresulttype.cs
- MdiWindowListItemConverter.cs
- HelpKeywordAttribute.cs
- TargetConverter.cs
- WindowProviderWrapper.cs
- PasswordRecovery.cs
- CreateUserErrorEventArgs.cs
- input.cs
- RunWorkerCompletedEventArgs.cs
- httpstaticobjectscollection.cs
- TrackingStringDictionary.cs
- WebPartConnectionsConfigureVerb.cs
- FontDriver.cs
- PopupEventArgs.cs
- SafeThemeHandle.cs
- Win32Native.cs
- AudioStateChangedEventArgs.cs
- XmlBinaryReader.cs
- SizeValueSerializer.cs
- SqlDataSourceConfigureSelectPanel.cs