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
- UserControlAutomationPeer.cs
- ISAPIApplicationHost.cs
- MultipartContentParser.cs
- EditorBrowsableAttribute.cs
- ToolStripSettings.cs
- MediaPlayerState.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- RuleConditionDialog.cs
- PointKeyFrameCollection.cs
- MsmqAppDomainProtocolHandler.cs
- ConfigXmlCDataSection.cs
- BaseDataList.cs
- SafePointer.cs
- NotSupportedException.cs
- BitmapEffectDrawingContextWalker.cs
- DataGridViewColumnCollectionEditor.cs
- GeneralTransformGroup.cs
- DbConnectionPoolOptions.cs
- WrappedIUnknown.cs
- PermissionSet.cs
- TransformedBitmap.cs
- DesignerSerializationOptionsAttribute.cs
- EncodingNLS.cs
- RunClient.cs
- DataColumnMapping.cs
- LookupBindingPropertiesAttribute.cs
- VerificationException.cs
- SafeFileMapViewHandle.cs
- Positioning.cs
- InvalidOperationException.cs
- BoundField.cs
- EntityDataSourceSelectingEventArgs.cs
- WindowsFont.cs
- ContainerCodeDomSerializer.cs
- ViewCellSlot.cs
- Delegate.cs
- DataRowView.cs
- ConfigurationFileMap.cs
- FormattedTextSymbols.cs
- diagnosticsswitches.cs
- RowToFieldTransformer.cs
- StringCollection.cs
- ZoomPercentageConverter.cs
- IdentityHolder.cs
- _BasicClient.cs
- MsmqOutputChannel.cs
- SqlHelper.cs
- RetriableClipboard.cs
- DataGridLength.cs
- PersonalizationStateQuery.cs
- ObfuscateAssemblyAttribute.cs
- HttpRawResponse.cs
- EntitySqlQueryBuilder.cs
- TextProperties.cs
- PropertyChangeTracker.cs
- PeerValidationBehavior.cs
- TableLayoutPanelBehavior.cs
- SqlClientFactory.cs
- DataBindingCollection.cs
- RecordsAffectedEventArgs.cs
- CollectionBase.cs
- ReferenceTypeElement.cs
- HttpResponse.cs
- TextAction.cs
- OpenTypeCommon.cs
- XmlDocumentSurrogate.cs
- RemotingSurrogateSelector.cs
- MiniCustomAttributeInfo.cs
- PageThemeBuildProvider.cs
- TripleDES.cs
- Freezable.cs
- UidManager.cs
- CharEnumerator.cs
- XmlSchemaComplexContentRestriction.cs
- DictionaryCustomTypeDescriptor.cs
- StandardOleMarshalObject.cs
- DateBoldEvent.cs
- ObjectParameterCollection.cs
- TextEditorTyping.cs
- SHA1CryptoServiceProvider.cs
- EntityRecordInfo.cs
- MeasureItemEvent.cs
- CodeObjectCreateExpression.cs
- DCSafeHandle.cs
- AsyncPostBackErrorEventArgs.cs
- InfoCardSymmetricCrypto.cs
- BamlBinaryWriter.cs
- StreamReader.cs
- ConstantCheck.cs
- UserPreferenceChangedEventArgs.cs
- MulticastOption.cs
- CharacterString.cs
- ConfigurationStrings.cs
- ValidatorCompatibilityHelper.cs
- TypeExtensionConverter.cs
- RawMouseInputReport.cs
- IndentTextWriter.cs
- QualificationDataItem.cs
- StringValueSerializer.cs
- RSACryptoServiceProvider.cs