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
- GridLengthConverter.cs
- _ChunkParse.cs
- AddressingProperty.cs
- FlowDocumentView.cs
- PatternMatcher.cs
- Lasso.cs
- RelOps.cs
- CroppedBitmap.cs
- RegistryKey.cs
- SwitchLevelAttribute.cs
- PropertyGridCommands.cs
- SiteOfOriginPart.cs
- ContextMenuService.cs
- RubberbandSelector.cs
- CancellationHandlerDesigner.cs
- ObjectConverter.cs
- ControlCollection.cs
- DocumentGridContextMenu.cs
- SecurityHelper.cs
- FrameworkContextData.cs
- CookieHandler.cs
- Content.cs
- LinkConverter.cs
- SamlAttributeStatement.cs
- DependentTransaction.cs
- Knowncolors.cs
- Point3DAnimationUsingKeyFrames.cs
- LassoHelper.cs
- TableRow.cs
- MultipleViewPattern.cs
- XmlWrappingWriter.cs
- SurrogateEncoder.cs
- SafeSecurityHelper.cs
- ScaleTransform3D.cs
- EDesignUtil.cs
- CalendarDateRangeChangingEventArgs.cs
- MatrixConverter.cs
- TextTreeInsertUndoUnit.cs
- DocumentStatusResources.cs
- ObjectStateEntry.cs
- InputEventArgs.cs
- VerificationAttribute.cs
- MarshalDirectiveException.cs
- DocumentViewerConstants.cs
- FixedTextContainer.cs
- ConnectionOrientedTransportChannelListener.cs
- ZoneLinkButton.cs
- Icon.cs
- Span.cs
- GenericUriParser.cs
- DesignBindingValueUIHandler.cs
- StringStorage.cs
- LayoutUtils.cs
- FrameDimension.cs
- FileUpload.cs
- XmlDigitalSignatureProcessor.cs
- AppLevelCompilationSectionCache.cs
- QilExpression.cs
- FileIOPermission.cs
- WorkflowInstanceTerminatedRecord.cs
- SharedPerformanceCounter.cs
- AppDomainProtocolHandler.cs
- filewebrequest.cs
- TextRangeBase.cs
- XsdDataContractExporter.cs
- DoubleKeyFrameCollection.cs
- CacheMemory.cs
- DBSchemaRow.cs
- ArrayElementGridEntry.cs
- ReservationNotFoundException.cs
- ContextMenuAutomationPeer.cs
- FactoryGenerator.cs
- TemplateBindingExpression.cs
- BindingBase.cs
- AnnotationMap.cs
- GridViewRowPresenterBase.cs
- ListViewItem.cs
- DynamicILGenerator.cs
- CrossContextChannel.cs
- DefaultDialogButtons.cs
- CharacterString.cs
- odbcmetadatacollectionnames.cs
- ValueQuery.cs
- TCEAdapterGenerator.cs
- ServiceProviders.cs
- CharStorage.cs
- ScriptControl.cs
- PropertyNames.cs
- SecurityVersion.cs
- TextContainerHelper.cs
- DelayDesigner.cs
- ValidationErrorCollection.cs
- XmlNode.cs
- QuotedStringWriteStateInfo.cs
- oledbmetadatacolumnnames.cs
- DocumentGridContextMenu.cs
- CollectionDataContractAttribute.cs
- storepermissionattribute.cs
- SiteMapHierarchicalDataSourceView.cs
- RenderTargetBitmap.cs