Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / DiscoveryEndpointElement.cs / 1305376 / DiscoveryEndpointElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System; using System.ComponentModel; using System.Configuration; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Configuration; using System.ServiceModel.Description; using SR2 = System.ServiceModel.Discovery.SR; public class DiscoveryEndpointElement : StandardEndpointElement { ConfigurationPropertyCollection properties; public DiscoveryEndpointElement() : base() { } [ConfigurationProperty(ConfigurationStrings.MaxResponseDelay, DefaultValue = ConfigurationStrings.TimeSpanZero)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public TimeSpan MaxResponseDelay { get { return (TimeSpan)base[ConfigurationStrings.MaxResponseDelay]; } set { base[ConfigurationStrings.MaxResponseDelay] = value; } } [ConfigurationProperty(ConfigurationStrings.DiscoveryMode, DefaultValue = ServiceDiscoveryMode.Managed)] [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule)] public ServiceDiscoveryMode DiscoveryMode { get { return (ServiceDiscoveryMode)base[ConfigurationStrings.DiscoveryMode]; } set { base[ConfigurationStrings.DiscoveryMode] = value; } } [ConfigurationProperty(ConfigurationStrings.DiscoveryVersion, DefaultValue = ProtocolStrings.VersionNameDefault)] [TypeConverter(typeof(DiscoveryVersionConverter))] [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule)] public DiscoveryVersion DiscoveryVersion { get { return (DiscoveryVersion)base[ConfigurationStrings.DiscoveryVersion]; } set { base[ConfigurationStrings.DiscoveryVersion] = value; } } protected internal override Type EndpointType { get { return typeof(DiscoveryEndpoint); } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = base.Properties; properties.Add( new ConfigurationProperty( ConfigurationStrings.MaxResponseDelay, typeof(TimeSpan), TimeSpan.Zero, new TimeSpanOrInfiniteConverter(), new TimeSpanOrInfiniteValidator(TimeSpan.Zero, TimeSpan.MaxValue), ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.DiscoveryVersion, typeof(DiscoveryVersion), DiscoveryVersion.DefaultDiscoveryVersion, new DiscoveryVersionConverter(), null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.DiscoveryMode, typeof(ServiceDiscoveryMode), ServiceDiscoveryMode.Managed, null, null, ConfigurationPropertyOptions.None)); this.properties = properties; } return this.properties; } } protected internal override ServiceEndpoint CreateServiceEndpoint(ContractDescription contractDescription) { return new DiscoveryEndpoint(this.DiscoveryVersion, this.DiscoveryMode); } protected internal override void InitializeFrom(ServiceEndpoint endpoint) { base.InitializeFrom(endpoint); DiscoveryEndpoint source = (DiscoveryEndpoint)endpoint; this.MaxResponseDelay = source.MaxResponseDelay; this.DiscoveryVersion = source.DiscoveryVersion; this.DiscoveryMode = source.DiscoveryMode; } protected override void OnInitializeAndValidate(ChannelEndpointElement channelEndpointElement) { if (!String.IsNullOrEmpty(channelEndpointElement.Contract)) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigContractSpecified(channelEndpointElement.Kind))); } } protected override void OnInitializeAndValidate(ServiceEndpointElement serviceEndpointElement) { if (!String.IsNullOrEmpty(serviceEndpointElement.Contract)) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR2.DiscoveryConfigContractSpecified(serviceEndpointElement.Kind))); } if (PropertyValueOrigin.Default == serviceEndpointElement.ElementInformation.Properties[ConfigurationStrings.IsSystemEndpoint].ValueOrigin) { serviceEndpointElement.IsSystemEndpoint = true; } } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ServiceEndpointElement serviceEndpointElement) { ApplyConfiguration(endpoint); } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ChannelEndpointElement serviceEndpointElement) { ApplyConfiguration(endpoint); } void ApplyConfiguration(ServiceEndpoint endpoint) { DiscoveryEndpoint discoveryEndpoint = (DiscoveryEndpoint)endpoint; discoveryEndpoint.MaxResponseDelay = this.MaxResponseDelay; } } } // 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
- SubstitutionList.cs
- TypeProvider.cs
- SvcMapFile.cs
- XmlSchemaExternal.cs
- ListViewAutomationPeer.cs
- SamlAuthenticationClaimResource.cs
- SmiRequestExecutor.cs
- CommandLineParser.cs
- RelatedCurrencyManager.cs
- PropertyGridCommands.cs
- Operators.cs
- FunctionDescription.cs
- PolicyManager.cs
- MruCache.cs
- TableCell.cs
- _SingleItemRequestCache.cs
- ParallelTimeline.cs
- PropertyTab.cs
- ComplexObject.cs
- CodeConstructor.cs
- X509Utils.cs
- HostingEnvironmentException.cs
- CacheChildrenQuery.cs
- RenamedEventArgs.cs
- NestedContainer.cs
- AssemblyBuilder.cs
- FrameworkElement.cs
- ListControl.cs
- FixedSOMTableRow.cs
- FixedElement.cs
- ContentDisposition.cs
- CurrentChangingEventManager.cs
- EditorPart.cs
- Rotation3DAnimation.cs
- DataErrorValidationRule.cs
- _NestedSingleAsyncResult.cs
- CallbackValidator.cs
- DataAdapter.cs
- PageAdapter.cs
- __ComObject.cs
- DataGridCellClipboardEventArgs.cs
- CanonicalizationDriver.cs
- PartitionedStreamMerger.cs
- SqlConnectionString.cs
- XamlTreeBuilderBamlRecordWriter.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- StoreAnnotationsMap.cs
- TabControl.cs
- CloseSequence.cs
- DynamicEntity.cs
- BoolExpression.cs
- ComponentResourceKeyConverter.cs
- DecimalAnimationBase.cs
- DesignerActionUIService.cs
- MultilineStringEditor.cs
- NamedObject.cs
- ReachPageContentCollectionSerializerAsync.cs
- AuthenticationManager.cs
- EditingMode.cs
- CopyCodeAction.cs
- JoinElimination.cs
- Converter.cs
- AccessText.cs
- PersistChildrenAttribute.cs
- AdministrationHelpers.cs
- CryptoStream.cs
- NullableDecimalAverageAggregationOperator.cs
- ClientUtils.cs
- TreeView.cs
- CommandLineParser.cs
- Tablet.cs
- CodeMethodInvokeExpression.cs
- RootProfilePropertySettingsCollection.cs
- DetailsViewInsertedEventArgs.cs
- DupHandleConnectionReader.cs
- UserControl.cs
- ElementsClipboardData.cs
- DBSchemaTable.cs
- ValueProviderWrapper.cs
- DisplayNameAttribute.cs
- TypeBrowser.xaml.cs
- GPStream.cs
- AttributeSetAction.cs
- AppDomainUnloadedException.cs
- querybuilder.cs
- SettingsPropertyValueCollection.cs
- DeadCharTextComposition.cs
- ByteStreamMessageEncoder.cs
- hresults.cs
- WebServiceErrorEvent.cs
- InstanceNotReadyException.cs
- TabletCollection.cs
- PointAnimationClockResource.cs
- ParallelForEach.cs
- ReadOnlyAttribute.cs
- SelectionRange.cs
- ValueUnavailableException.cs
- ElementAtQueryOperator.cs
- CodeParameterDeclarationExpression.cs
- TextRangeBase.cs