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
- QueryOutputWriter.cs
- Container.cs
- AppModelKnownContentFactory.cs
- ForeignKeyFactory.cs
- ChtmlPageAdapter.cs
- OutputChannel.cs
- CodeAttributeDeclarationCollection.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- _SSPIWrapper.cs
- DateTimeConstantAttribute.cs
- ScrollableControl.cs
- DataBoundControl.cs
- backend.cs
- SamlConstants.cs
- ActionNotSupportedException.cs
- XhtmlBasicValidatorAdapter.cs
- TypedElement.cs
- RuleSettingsCollection.cs
- DragDeltaEventArgs.cs
- AdapterUtil.cs
- Attributes.cs
- GlyphingCache.cs
- DataGridHeaderBorder.cs
- ConstantSlot.cs
- GlobalAllocSafeHandle.cs
- ResizeBehavior.cs
- Misc.cs
- ViewCellRelation.cs
- ItemDragEvent.cs
- XmlParserContext.cs
- LinkClickEvent.cs
- DbMetaDataFactory.cs
- FormsAuthenticationModule.cs
- HwndAppCommandInputProvider.cs
- SafeThreadHandle.cs
- PenContexts.cs
- TransformerConfigurationWizardBase.cs
- ClipboardProcessor.cs
- XmlChildEnumerator.cs
- DebuggerAttributes.cs
- DataFormats.cs
- ClrProviderManifest.cs
- DetailsViewCommandEventArgs.cs
- ValidationVisibilityAttribute.cs
- peernodeimplementation.cs
- WeakRefEnumerator.cs
- ConsumerConnectionPointCollection.cs
- SystemUnicastIPAddressInformation.cs
- RecordBuilder.cs
- StrokeNodeEnumerator.cs
- StatusBarPanel.cs
- UnitySerializationHolder.cs
- ConnectivityStatus.cs
- CapiNative.cs
- ActivityCodeDomSerializer.cs
- DataRecordObjectView.cs
- JavascriptXmlWriterWrapper.cs
- DocumentDesigner.cs
- Empty.cs
- DateTimeFormatInfo.cs
- DataGridRowEventArgs.cs
- Win32.cs
- AssemblyCollection.cs
- ISAPIApplicationHost.cs
- DataReceivedEventArgs.cs
- TiffBitmapDecoder.cs
- RichTextBoxDesigner.cs
- PermissionSetEnumerator.cs
- ObjectDataSourceSelectingEventArgs.cs
- ShaderEffect.cs
- ItemPager.cs
- WebConfigurationManager.cs
- XmlSchemaAppInfo.cs
- DbParameterHelper.cs
- ServiceProviders.cs
- RelatedImageListAttribute.cs
- SemaphoreSecurity.cs
- DataGridViewButtonCell.cs
- CookielessHelper.cs
- Evidence.cs
- ConnectionStringSettingsCollection.cs
- TransactionManager.cs
- SqlInternalConnectionTds.cs
- HierarchicalDataBoundControlAdapter.cs
- SizeF.cs
- COAUTHINFO.cs
- CodeDelegateInvokeExpression.cs
- XamlFilter.cs
- StringExpressionSet.cs
- CallInfo.cs
- HttpHeaderCollection.cs
- PropertyReferenceExtension.cs
- DropSource.cs
- LogExtent.cs
- RotationValidation.cs
- ClientSettingsSection.cs
- ElementFactory.cs
- NullReferenceException.cs
- DataStorage.cs
- TextTrailingCharacterEllipsis.cs