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
- TypeLoadException.cs
- invalidudtexception.cs
- TextContainerChangeEventArgs.cs
- InvokeGenerator.cs
- UriTemplateCompoundPathSegment.cs
- PropertyDescriptorCollection.cs
- DynamicRouteExpression.cs
- GradientBrush.cs
- XmlSchemaSimpleTypeRestriction.cs
- RtfControls.cs
- WebServiceParameterData.cs
- XamlTypeMapper.cs
- CategoryGridEntry.cs
- ParserStreamGeometryContext.cs
- sortedlist.cs
- EditorZone.cs
- ServiceAppDomainAssociationProvider.cs
- PackUriHelper.cs
- MgmtConfigurationRecord.cs
- Guid.cs
- PhysicalOps.cs
- StopStoryboard.cs
- ClrPerspective.cs
- SQLDouble.cs
- MarkupExtensionSerializer.cs
- _NestedMultipleAsyncResult.cs
- ValidatingReaderNodeData.cs
- GridViewAutoFormat.cs
- EventMappingSettings.cs
- CreatingCookieEventArgs.cs
- SqlResolver.cs
- CodeStatement.cs
- MouseOverProperty.cs
- PageRouteHandler.cs
- StatusBarDrawItemEvent.cs
- XamlSerializerUtil.cs
- MemoryMappedViewStream.cs
- ColumnMapCopier.cs
- HandleCollector.cs
- HttpRequestCacheValidator.cs
- TableCellCollection.cs
- LabelEditEvent.cs
- ReferenceService.cs
- XmlFormatMapping.cs
- Misc.cs
- BaseDataListDesigner.cs
- SystemIcmpV4Statistics.cs
- DomainLiteralReader.cs
- DataRecordInfo.cs
- ConnectionStringsExpressionBuilder.cs
- AjaxFrameworkAssemblyAttribute.cs
- ObjectSelectorEditor.cs
- storepermissionattribute.cs
- FreezableCollection.cs
- PageTheme.cs
- HMACSHA256.cs
- BatchParser.cs
- TypeSystem.cs
- WindowsStatic.cs
- SqlRetyper.cs
- TableLayoutRowStyleCollection.cs
- WinFormsComponentEditor.cs
- Adorner.cs
- TransformCollection.cs
- ListViewTableRow.cs
- IntSecurity.cs
- SQLByteStorage.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- HttpWrapper.cs
- ILGenerator.cs
- SourceSwitch.cs
- TextStore.cs
- Codec.cs
- MessagePropertyFilter.cs
- SmiEventStream.cs
- RuleCache.cs
- RegisteredDisposeScript.cs
- TargetControlTypeCache.cs
- SqlGatherConsumedAliases.cs
- OleDbMetaDataFactory.cs
- SymbolMethod.cs
- InvokePatternIdentifiers.cs
- UIElement3D.cs
- TextEffectCollection.cs
- WebPartVerbsEventArgs.cs
- RSAPKCS1SignatureFormatter.cs
- WindowsPen.cs
- Compiler.cs
- DataDocumentXPathNavigator.cs
- wmiprovider.cs
- CellPartitioner.cs
- XmlResolver.cs
- ConsoleTraceListener.cs
- TextSelectionProcessor.cs
- NullRuntimeConfig.cs
- PrintPreviewDialog.cs
- UTF32Encoding.cs
- DynamicUpdateCommand.cs
- ControlIdConverter.cs
- GregorianCalendarHelper.cs