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
- TimeoutException.cs
- PopOutPanel.cs
- ProfileProvider.cs
- StoreItemCollection.cs
- Visual3DCollection.cs
- XmlTextEncoder.cs
- RegexCaptureCollection.cs
- ParameterCollection.cs
- HyperLinkColumn.cs
- HiddenField.cs
- LocalBuilder.cs
- TreeNodeStyleCollectionEditor.cs
- RootNamespaceAttribute.cs
- GeneratedCodeAttribute.cs
- MarkedHighlightComponent.cs
- DecoderNLS.cs
- DataPagerCommandEventArgs.cs
- SystemIPAddressInformation.cs
- ZeroOpNode.cs
- TextRangeEditTables.cs
- RelationshipDetailsCollection.cs
- SendMessageChannelCache.cs
- SqlDataSourceSelectingEventArgs.cs
- DataException.cs
- StateItem.cs
- ServiceModelActivationSectionGroup.cs
- StrongNameUtility.cs
- TemplateBuilder.cs
- ApplicationDirectory.cs
- ResourceKey.cs
- PersonalizableAttribute.cs
- IncrementalReadDecoders.cs
- DependencyObject.cs
- DataBoundControlHelper.cs
- Camera.cs
- SiteMapDataSourceView.cs
- Imaging.cs
- SqlReorderer.cs
- MenuItemBinding.cs
- TextRangeAdaptor.cs
- StylusPointPropertyInfoDefaults.cs
- SmiContextFactory.cs
- GeneralTransform3DGroup.cs
- NativeMethods.cs
- XmlCharacterData.cs
- StyleBamlRecordReader.cs
- PerformanceCounter.cs
- HelpKeywordAttribute.cs
- AppSettingsSection.cs
- ContractMethodParameterInfo.cs
- HtmlValidatorAdapter.cs
- MatrixIndependentAnimationStorage.cs
- ToolstripProfessionalRenderer.cs
- Recipient.cs
- Typeface.cs
- PathStreamGeometryContext.cs
- ObjectSet.cs
- ResourceExpression.cs
- AssemblySettingAttributes.cs
- RawStylusInput.cs
- HttpWriter.cs
- _SSPIWrapper.cs
- DoubleLinkListEnumerator.cs
- DataGridColumnHeader.cs
- CodeAttributeDeclaration.cs
- Object.cs
- ComponentChangingEvent.cs
- NameScope.cs
- CaseDesigner.xaml.cs
- BuildDependencySet.cs
- SqlUDTStorage.cs
- TypedTableBase.cs
- ResXResourceWriter.cs
- ErrorsHelper.cs
- TTSVoice.cs
- BoundingRectTracker.cs
- ScrollViewer.cs
- FixedBufferAttribute.cs
- SoapSchemaImporter.cs
- WriteTimeStream.cs
- ConnectionManagementElement.cs
- DesignerActionUIStateChangeEventArgs.cs
- ManagementNamedValueCollection.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- ContextProperty.cs
- CommandValueSerializer.cs
- ChannelTokenTypeConverter.cs
- RepeatInfo.cs
- PermissionListSet.cs
- FeedUtils.cs
- TreeNodeCollection.cs
- LayoutInformation.cs
- TemplateEditingService.cs
- WebPartVerb.cs
- basenumberconverter.cs
- ConfigurationElement.cs
- WebScriptServiceHostFactory.cs
- FormattedText.cs
- Pts.cs
- DesignTimeXamlWriter.cs