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
- DbParameterCollectionHelper.cs
- RefreshPropertiesAttribute.cs
- DataObject.cs
- StatusBarItem.cs
- DataListItemCollection.cs
- PointLightBase.cs
- PrivateFontCollection.cs
- ChtmlImageAdapter.cs
- WebControl.cs
- ThreadStateException.cs
- VectorCollection.cs
- SystemIcmpV4Statistics.cs
- ListBindingHelper.cs
- QilLiteral.cs
- UnicodeEncoding.cs
- ValidationErrorCollection.cs
- SamlDelegatingWriter.cs
- EdmType.cs
- TreeNodeMouseHoverEvent.cs
- SafeNativeMethodsMilCoreApi.cs
- HttpCacheVary.cs
- SoapObjectWriter.cs
- DataGridColumnStyleMappingNameEditor.cs
- CompiledIdentityConstraint.cs
- RootBrowserWindowAutomationPeer.cs
- SqlMethodAttribute.cs
- SqlUdtInfo.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- SerializationEventsCache.cs
- NavigationExpr.cs
- EncoderReplacementFallback.cs
- ControlDesigner.cs
- NativeMethods.cs
- CheckableControlBaseAdapter.cs
- IconHelper.cs
- ServiceDescription.cs
- MSHTMLHost.cs
- DurableRuntimeValidator.cs
- PnrpPermission.cs
- StringConverter.cs
- TypeSemantics.cs
- ProtectedConfiguration.cs
- SortFieldComparer.cs
- safex509handles.cs
- KeyedCollection.cs
- HtmlInputPassword.cs
- FormDocumentDesigner.cs
- DPCustomTypeDescriptor.cs
- shaperfactory.cs
- HttpConfigurationSystem.cs
- CalloutQueueItem.cs
- DynamicEndpointElement.cs
- ListViewItem.cs
- HttpModuleAction.cs
- WeakReadOnlyCollection.cs
- WinEventWrap.cs
- BooleanAnimationUsingKeyFrames.cs
- Button.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- InvalidDataContractException.cs
- TreeSet.cs
- BitmapData.cs
- WebBrowserPermission.cs
- XPathException.cs
- TextEndOfParagraph.cs
- TimeZone.cs
- GraphicsContainer.cs
- ObjectViewEntityCollectionData.cs
- XPathNodeIterator.cs
- DataSourceProvider.cs
- DefaultPrintController.cs
- DataControlFieldCell.cs
- HorizontalAlignConverter.cs
- AutomationPeer.cs
- SecurityContext.cs
- FilteredXmlReader.cs
- SerializationStore.cs
- OSFeature.cs
- AttributeQuery.cs
- WebPartConnectionsCloseVerb.cs
- ModulesEntry.cs
- QilInvokeEarlyBound.cs
- GiveFeedbackEvent.cs
- MultiSelectRootGridEntry.cs
- JoinCqlBlock.cs
- localization.cs
- JsonXmlDataContract.cs
- ToolStripControlHost.cs
- EntityObject.cs
- CodeDelegateCreateExpression.cs
- OracleBFile.cs
- MatrixConverter.cs
- SelectionItemPattern.cs
- DynamicMetaObjectBinder.cs
- documentsequencetextview.cs
- LowerCaseStringConverter.cs
- OutputScopeManager.cs
- SchemaImporterExtensionsSection.cs
- MethodCallConverter.cs
- AutomationProperties.cs