Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / DynamicEndpointElement.cs / 1305376 / DynamicEndpointElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System; using System.Configuration; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Channels; using System.ServiceModel.Configuration; using System.ServiceModel.Description; using System.Xml; [Fx.Tag.XamlVisible(false)] public sealed class DynamicEndpointElement : StandardEndpointElement { ConfigurationPropertyCollection properties; [ConfigurationProperty(ConfigurationStrings.DiscoveryClientSettings)] [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule, Justification = "No validator requiered.")] public DiscoveryClientSettingsElement DiscoveryClientSettings { get { return (DiscoveryClientSettingsElement)base[ConfigurationStrings.DiscoveryClientSettings]; } } protected internal override Type EndpointType { get { return typeof(DynamicEndpoint); } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = base.Properties; properties.Add( new ConfigurationProperty( ConfigurationStrings.DiscoveryClientSettings, typeof(DiscoveryClientSettingsElement), null, null, null, ConfigurationPropertyOptions.None)); this.properties = properties; } return this.properties; } } protected internal override ServiceEndpoint CreateServiceEndpoint(ContractDescription contractDescription) { return new DynamicEndpoint(contractDescription); } protected override void OnInitializeAndValidate(ChannelEndpointElement channelEndpointElement) { if (string.IsNullOrEmpty(channelEndpointElement.Contract)) { throw FxTrace.Exception.AsError( new ConfigurationErrorsException( SR.DiscoveryConfigContractNotSpecified(channelEndpointElement.Kind))); } if (channelEndpointElement.Address != null && !channelEndpointElement.Address.Equals(DiscoveryClientBindingElement.DiscoveryEndpointAddress.Uri)) { throw FxTrace.Exception.AsError( new ConfigurationErrorsException( SR.DiscoveryEndpointAddressIncorrect( "address", channelEndpointElement.Address, DiscoveryClientBindingElement.DiscoveryEndpointAddress.Uri))); } } protected override void OnInitializeAndValidate(ServiceEndpointElement serviceEndpointElement) { throw FxTrace.Exception.AsError( new InvalidOperationException( SR.DiscoveryConfigDynamicEndpointInService(serviceEndpointElement.Kind))); } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ServiceEndpointElement serviceEndpointElement) { } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ChannelEndpointElement serviceEndpointElement) { DynamicEndpoint dynamicEndpoint = (DynamicEndpoint)endpoint; if (!dynamicEndpoint.ValidateAndInsertDiscoveryClientBindingElement(dynamicEndpoint.Binding)) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR.DiscoveryClientBindingElementPresentInDynamicEndpoint)); } if (PropertyValueOrigin.Default == this.DiscoveryClientSettings.ElementInformation.Properties[ConfigurationStrings.Endpoint].ValueOrigin) { dynamicEndpoint.DiscoveryEndpointProvider = new ConfigurationDiscoveryEndpointProvider(); } else { dynamicEndpoint.DiscoveryEndpointProvider = new ConfigurationDiscoveryEndpointProvider(this.DiscoveryClientSettings.DiscoveryEndpoint); } this.DiscoveryClientSettings.FindCriteria.ApplyConfiguration(dynamicEndpoint.FindCriteria); if (dynamicEndpoint.FindCriteria.ContractTypeNames.Count == 0) { dynamicEndpoint.FindCriteria.ContractTypeNames.Add( new XmlQualifiedName(dynamicEndpoint.Contract.Name, dynamicEndpoint.Contract.Namespace)); } } } } // 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
- PeerToPeerException.cs
- FixedDocumentSequencePaginator.cs
- CharKeyFrameCollection.cs
- TrackPointCollection.cs
- ExpressionEditorAttribute.cs
- GlobalEventManager.cs
- DataGridViewCellValueEventArgs.cs
- StrokeCollection.cs
- NavigationProperty.cs
- DefaultCommandConverter.cs
- ObjectFullSpanRewriter.cs
- Clipboard.cs
- ImageList.cs
- StreamInfo.cs
- EventToken.cs
- ImageCodecInfo.cs
- XmlSerializerVersionAttribute.cs
- RootBrowserWindowProxy.cs
- GradientBrush.cs
- Publisher.cs
- SimpleRecyclingCache.cs
- SessionState.cs
- ActivityCodeGenerator.cs
- CharacterString.cs
- HttpBindingExtension.cs
- ArrayTypeMismatchException.cs
- WithStatement.cs
- Cell.cs
- Int16Storage.cs
- SortedDictionary.cs
- DrawingAttributesDefaultValueFactory.cs
- SqlReferenceCollection.cs
- HttpApplicationFactory.cs
- PartialCachingControl.cs
- OptimizedTemplateContentHelper.cs
- WebPartDescriptionCollection.cs
- UpdateCommandGenerator.cs
- ArgumentOutOfRangeException.cs
- DoubleStorage.cs
- Int32AnimationBase.cs
- Token.cs
- ConfigurationFileMap.cs
- ISAPIRuntime.cs
- LogLogRecord.cs
- DependencyObjectType.cs
- X509Certificate.cs
- Label.cs
- ConfigXmlSignificantWhitespace.cs
- BookmarkManager.cs
- ItemsPanelTemplate.cs
- UInt16Storage.cs
- CompensateDesigner.cs
- IOException.cs
- CryptoKeySecurity.cs
- DbProviderConfigurationHandler.cs
- TextEditorCopyPaste.cs
- XmlTypeAttribute.cs
- PixelShader.cs
- OleServicesContext.cs
- DocumentSchemaValidator.cs
- SoapFault.cs
- TextServicesHost.cs
- ExpressionBuilderCollection.cs
- OutputCache.cs
- FlowNode.cs
- XmlSerializerVersionAttribute.cs
- DBProviderConfigurationHandler.cs
- XmlSchemaType.cs
- ContractTypeNameElement.cs
- TraceXPathNavigator.cs
- ClientBuildManagerCallback.cs
- StateDesigner.cs
- TypeInfo.cs
- DesignerProperties.cs
- FacetValues.cs
- SqlSelectStatement.cs
- SqlParameter.cs
- EmptyCollection.cs
- SecurityChannelFactory.cs
- WindowsContainer.cs
- RemotingAttributes.cs
- AnnotationObservableCollection.cs
- SoapExtensionReflector.cs
- MarkupCompilePass1.cs
- CryptoConfig.cs
- PageParserFilter.cs
- KeyValuePair.cs
- Emitter.cs
- CqlWriter.cs
- WebScriptServiceHost.cs
- ScriptingScriptResourceHandlerSection.cs
- MethodRental.cs
- SmiXetterAccessMap.cs
- NullEntityWrapper.cs
- SqlCharStream.cs
- StateWorkerRequest.cs
- EventDescriptor.cs
- DataBoundControlDesigner.cs
- DSASignatureFormatter.cs
- ErrorProvider.cs