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
- DataGridViewLayoutData.cs
- querybuilder.cs
- RelationshipEndMember.cs
- HtmlButton.cs
- VirtualDirectoryMappingCollection.cs
- ExpressionSelection.cs
- TabItemWrapperAutomationPeer.cs
- SQLBinary.cs
- DictionaryEntry.cs
- HandleCollector.cs
- HttpRequestCacheValidator.cs
- TaiwanLunisolarCalendar.cs
- _CookieModule.cs
- StrongTypingException.cs
- GroupBox.cs
- DispatchWrapper.cs
- DictionaryBase.cs
- PersistenceContext.cs
- SignalGate.cs
- MatrixUtil.cs
- Rect3DValueSerializer.cs
- TemplateField.cs
- JsonFormatWriterGenerator.cs
- WebSysDefaultValueAttribute.cs
- BamlLocalizationDictionary.cs
- ClaimTypes.cs
- PointCollectionConverter.cs
- HyperLinkStyle.cs
- IxmlLineInfo.cs
- ComplexPropertyEntry.cs
- X509Chain.cs
- Vector3DAnimation.cs
- recordstatescratchpad.cs
- FreeFormDragDropManager.cs
- TypeDescriptor.cs
- NativeRecognizer.cs
- LocalBuilder.cs
- PartitionResolver.cs
- FullTextBreakpoint.cs
- TextRangeBase.cs
- LookupBindingPropertiesAttribute.cs
- FieldAccessException.cs
- ValidationVisibilityAttribute.cs
- XPathAncestorIterator.cs
- RoutedUICommand.cs
- TraceFilter.cs
- RtfToXamlLexer.cs
- Transactions.cs
- DeclaredTypeValidator.cs
- MouseActionValueSerializer.cs
- BufferedGraphicsContext.cs
- InvokeMethod.cs
- EntityDataSourceChangedEventArgs.cs
- Part.cs
- ResolveDuplex11AsyncResult.cs
- QueryAccessibilityHelpEvent.cs
- ExtractorMetadata.cs
- util.cs
- PageAsyncTaskManager.cs
- Polygon.cs
- OptimizedTemplateContent.cs
- SupportingTokenChannel.cs
- VersionedStreamOwner.cs
- TimelineGroup.cs
- CredentialSelector.cs
- XPathScanner.cs
- MobileListItem.cs
- ZoneMembershipCondition.cs
- ClientProxyGenerator.cs
- ISSmlParser.cs
- StatusBar.cs
- TextTreePropertyUndoUnit.cs
- HttpContext.cs
- AcceleratedTokenProvider.cs
- XmlILIndex.cs
- DataBoundControl.cs
- ScriptControl.cs
- SafeCryptoHandles.cs
- UidManager.cs
- PageThemeParser.cs
- MonitorWrapper.cs
- Compilation.cs
- HandlerBase.cs
- ExpressionBuilder.cs
- Queue.cs
- SqlConnectionPoolGroupProviderInfo.cs
- WpfWebRequestHelper.cs
- FileAuthorizationModule.cs
- DetailsView.cs
- AttributeEmitter.cs
- InstanceCreationEditor.cs
- ObjectViewListener.cs
- IPeerNeighbor.cs
- ToolBarDesigner.cs
- TypeSystemProvider.cs
- COSERVERINFO.cs
- WebRequestModuleElementCollection.cs
- EntityContainerAssociationSet.cs
- Base64Decoder.cs
- LogicalCallContext.cs