Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / DiscoveryClientElement.cs / 1305376 / DiscoveryClientElement.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.Channels; using System.ServiceModel.Configuration; using SR2 = System.ServiceModel.Discovery.SR; [Fx.Tag.XamlVisible(false)] public sealed class DiscoveryClientElement : BindingElementExtensionElement { ConfigurationPropertyCollection properties; [ConfigurationProperty(ConfigurationStrings.Endpoint)] [SuppressMessage( FxCop.Category.Configuration, FxCop.Rule.ConfigurationPropertyNameRule, Justification = "The configuration name for this element is 'endpoint'.")] public ChannelEndpointElement DiscoveryEndpoint { get { return (ChannelEndpointElement)base[ConfigurationStrings.Endpoint]; } } [ConfigurationProperty(ConfigurationStrings.FindCriteria)] public FindCriteriaElement FindCriteria { get { return (FindCriteriaElement)base[ConfigurationStrings.FindCriteria]; } } [SuppressMessage( FxCop.Category.Configuration, FxCop.Rule.ConfigurationPropertyAttributeRule, Justification = "This property only overrides the base property.")] public override Type BindingElementType { get { return typeof(DiscoveryClientBindingElement); } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); properties.Add( new ConfigurationProperty( ConfigurationStrings.Endpoint, typeof(ChannelEndpointElement), null, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.FindCriteria, typeof(FindCriteriaElement), null, null, null, ConfigurationPropertyOptions.None)); this.properties = properties; } return this.properties; } } public override void ApplyConfiguration(BindingElement bindingElement) { base.ApplyConfiguration(bindingElement); DiscoveryClientBindingElement discoveryClientBindingElement = (DiscoveryClientBindingElement)bindingElement; if (PropertyValueOrigin.Default == this.ElementInformation.Properties[ConfigurationStrings.Endpoint].ValueOrigin) { discoveryClientBindingElement.DiscoveryEndpointProvider = new ConfigurationDiscoveryEndpointProvider(); } else { discoveryClientBindingElement.DiscoveryEndpointProvider = new ConfigurationDiscoveryEndpointProvider(this.DiscoveryEndpoint); } this.FindCriteria.ApplyConfiguration(discoveryClientBindingElement.FindCriteria); } public override void CopyFrom(ServiceModelExtensionElement from) { base.CopyFrom(from); DiscoveryClientElement source = (DiscoveryClientElement)from; if (PropertyValueOrigin.Default == this.ElementInformation.Properties[ConfigurationStrings.Endpoint].ValueOrigin) { ChannelEndpointElement udpChannelEndpointElement = ConfigurationUtility.GetDefaultDiscoveryEndpointElement(); udpChannelEndpointElement.Copy(source.DiscoveryEndpoint); } else { this.DiscoveryEndpoint.Copy(source.DiscoveryEndpoint); } this.FindCriteria.CopyFrom(source.FindCriteria); } protected internal override BindingElement CreateBindingElement() { DiscoveryClientBindingElement discoveryClientBindingElement = new DiscoveryClientBindingElement(); this.ApplyConfiguration(discoveryClientBindingElement); return discoveryClientBindingElement; } protected internal override void InitializeFrom(BindingElement bindingElement) { throw FxTrace.Exception.AsError( new NotSupportedException(SR2.DiscoveryConfigInitializeFromNotSupported)); } } } // 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
- KeyValueConfigurationCollection.cs
- QueryCoreOp.cs
- UIElementIsland.cs
- securitymgrsite.cs
- RepeaterDesigner.cs
- Bitmap.cs
- SafeProcessHandle.cs
- AllMembershipCondition.cs
- TargetParameterCountException.cs
- LocatorPartList.cs
- Privilege.cs
- TreeIterator.cs
- RC2.cs
- SelectionItemProviderWrapper.cs
- PublisherMembershipCondition.cs
- StringFreezingAttribute.cs
- MetadataArtifactLoader.cs
- HttpRequestCacheValidator.cs
- LogicalCallContext.cs
- StatusBar.cs
- GenericsInstances.cs
- CryptoStream.cs
- XmlReflectionMember.cs
- Array.cs
- XmlDownloadManager.cs
- UniqueID.cs
- EntryPointNotFoundException.cs
- SvcMapFile.cs
- XmlSerializerOperationFormatter.cs
- ListMarkerLine.cs
- SessionStateSection.cs
- regiisutil.cs
- ChildrenQuery.cs
- TrackPoint.cs
- Msec.cs
- WorkflowCompensationBehavior.cs
- Frame.cs
- MatrixTransform3D.cs
- diagnosticsswitches.cs
- DocumentPageHost.cs
- VScrollProperties.cs
- ArrayListCollectionBase.cs
- ContainerCodeDomSerializer.cs
- RuntimeArgumentHandle.cs
- ControlPropertyNameConverter.cs
- PrintDocument.cs
- Vector.cs
- DocumentSchemaValidator.cs
- FixedPageAutomationPeer.cs
- WebPartZoneBase.cs
- Base64Decoder.cs
- AnimationLayer.cs
- DiscardableAttribute.cs
- MouseDevice.cs
- SqlDesignerDataSourceView.cs
- ThreadStaticAttribute.cs
- UnaryNode.cs
- PageCatalogPart.cs
- ResourceDictionaryCollection.cs
- DataTable.cs
- AnonymousIdentificationModule.cs
- ISAPIWorkerRequest.cs
- SelectiveScrollingGrid.cs
- DeliveryRequirementsAttribute.cs
- LinqDataSourceStatusEventArgs.cs
- StaticResourceExtension.cs
- PackagePart.cs
- TextChange.cs
- OleDbConnection.cs
- XmlChildEnumerator.cs
- EntityObject.cs
- NativeMethodsOther.cs
- ProtectedUri.cs
- XmlSchemaAttributeGroup.cs
- StringValueSerializer.cs
- SplineKeyFrames.cs
- Mouse.cs
- MultiView.cs
- securestring.cs
- MailSettingsSection.cs
- FlowDocumentReader.cs
- EmptyCollection.cs
- StrongTypingException.cs
- BindableTemplateBuilder.cs
- XamlInterfaces.cs
- ReflectionUtil.cs
- SlipBehavior.cs
- ReverseInheritProperty.cs
- ObjectViewEntityCollectionData.cs
- TreeWalker.cs
- BuilderElements.cs
- NotificationContext.cs
- ExpressionBuilderContext.cs
- IconConverter.cs
- UniqueIdentifierService.cs
- Descriptor.cs
- UxThemeWrapper.cs
- SymbolType.cs
- TextBlockAutomationPeer.cs
- WebHeaderCollection.cs