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
- Ipv6Element.cs
- EncodingInfo.cs
- JsonSerializer.cs
- GridViewSortEventArgs.cs
- DigestTraceRecordHelper.cs
- DocumentationServerProtocol.cs
- LabelAutomationPeer.cs
- LiteralDesigner.cs
- GeneralTransform3DTo2DTo3D.cs
- HttpResponseInternalWrapper.cs
- DotExpr.cs
- FileSystemEventArgs.cs
- HttpRawResponse.cs
- CanonicalizationDriver.cs
- CompiledQueryCacheKey.cs
- ConfigXmlWhitespace.cs
- RSAOAEPKeyExchangeFormatter.cs
- XsdCachingReader.cs
- QueryOperationResponseOfT.cs
- SafeReadContext.cs
- HandleRef.cs
- NativeActivityTransactionContext.cs
- MediaSystem.cs
- InternalControlCollection.cs
- DayRenderEvent.cs
- OutputScopeManager.cs
- TextSchema.cs
- ContactManager.cs
- PlainXmlSerializer.cs
- WpfPayload.cs
- VisualStyleElement.cs
- Grid.cs
- OleDbMetaDataFactory.cs
- CodeGenerator.cs
- Point3DConverter.cs
- TagPrefixInfo.cs
- FindCompletedEventArgs.cs
- ZoneIdentityPermission.cs
- ValidationRule.cs
- VariableExpressionConverter.cs
- CompressedStack.cs
- GB18030Encoding.cs
- SmtpMail.cs
- XsdDuration.cs
- AnnotationResourceChangedEventArgs.cs
- PeerMessageDispatcher.cs
- ContentElementAutomationPeer.cs
- InvokeHandlers.cs
- TextTreeTextNode.cs
- Transaction.cs
- PrePrepareMethodAttribute.cs
- ChannelServices.cs
- arc.cs
- GPStream.cs
- UserNamePasswordValidator.cs
- XamlHostingConfiguration.cs
- BamlLocalizableResource.cs
- EntityDataSourceContainerNameItem.cs
- ImageBrush.cs
- MenuTracker.cs
- SiteMapHierarchicalDataSourceView.cs
- COM2ExtendedUITypeEditor.cs
- HwndSourceKeyboardInputSite.cs
- SkipQueryOptionExpression.cs
- Binding.cs
- SetIndexBinder.cs
- X509SecurityTokenParameters.cs
- ParameterModifier.cs
- PerfService.cs
- LinqDataSourceContextData.cs
- ResolveMatchesMessageCD1.cs
- Parameter.cs
- HasCopySemanticsAttribute.cs
- TopClause.cs
- RepeatButton.cs
- RenderContext.cs
- MinimizableAttributeTypeConverter.cs
- ShaderRenderModeValidation.cs
- FunctionUpdateCommand.cs
- XmlTypeAttribute.cs
- UnicastIPAddressInformationCollection.cs
- DetailsViewPageEventArgs.cs
- SrgsRulesCollection.cs
- UnicodeEncoding.cs
- TextRangeBase.cs
- DictationGrammar.cs
- DesignTimeTemplateParser.cs
- AssemblyCache.cs
- WasEndpointConfigContainer.cs
- HtmlLink.cs
- ConfigurationValidatorAttribute.cs
- ReaderWriterLockWrapper.cs
- FontStretch.cs
- mda.cs
- DataFormats.cs
- CmsUtils.cs
- PropertyConverter.cs
- GreenMethods.cs
- RSAProtectedConfigurationProvider.cs
- SqlNodeTypeOperators.cs