Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / AnnouncementEndpointElement.cs / 1305376 / AnnouncementEndpointElement.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 AnnouncementEndpointElement : StandardEndpointElement { ConfigurationPropertyCollection properties; public AnnouncementEndpointElement() : base() { } [ConfigurationProperty(ConfigurationStrings.MaxAnnouncementDelay, DefaultValue = ConfigurationStrings.TimeSpanZero)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public TimeSpan MaxAnnouncementDelay { get { return (TimeSpan)base[ConfigurationStrings.MaxAnnouncementDelay]; } set { base[ConfigurationStrings.MaxAnnouncementDelay] = 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(AnnouncementEndpoint); } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = base.Properties; properties.Add( new ConfigurationProperty( ConfigurationStrings.MaxAnnouncementDelay, 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)); this.properties = properties; } return this.properties; } } protected internal override ServiceEndpoint CreateServiceEndpoint(ContractDescription contractDescription) { return new AnnouncementEndpoint(this.DiscoveryVersion); } protected internal override void InitializeFrom(ServiceEndpoint endpoint) { base.InitializeFrom(endpoint); AnnouncementEndpoint source = (AnnouncementEndpoint)endpoint; this.MaxAnnouncementDelay = source.MaxAnnouncementDelay; this.DiscoveryVersion = source.DiscoveryVersion; } 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))); } } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ServiceEndpointElement serviceEndpointElement) { ApplyConfiguration(endpoint); } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ChannelEndpointElement serviceEndpointElement) { ApplyConfiguration(endpoint); } void ApplyConfiguration(ServiceEndpoint endpoint) { AnnouncementEndpoint announcementEndpoint = (AnnouncementEndpoint)endpoint; announcementEndpoint.MaxAnnouncementDelay = this.MaxAnnouncementDelay; } } } // 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
- SqlGatherConsumedAliases.cs
- ImmComposition.cs
- RestHandler.cs
- State.cs
- LicenseProviderAttribute.cs
- XmlSortKeyAccumulator.cs
- DesignerTransaction.cs
- PersistenceParticipant.cs
- StyleXamlParser.cs
- TickBar.cs
- PageHandlerFactory.cs
- DocumentsTrace.cs
- XmlDataSourceView.cs
- NullableLongAverageAggregationOperator.cs
- DSASignatureFormatter.cs
- XmlExpressionDumper.cs
- NativeBuffer.cs
- Color.cs
- DeclaredTypeElementCollection.cs
- ConfigXmlReader.cs
- ScriptBehaviorDescriptor.cs
- ControlPaint.cs
- SimpleHandlerFactory.cs
- MetadataStore.cs
- TextRangeProviderWrapper.cs
- HtmlForm.cs
- WorkflowRuntimeService.cs
- XamlWriter.cs
- DefaultObjectMappingItemCollection.cs
- QueryTreeBuilder.cs
- WebControl.cs
- WebPartAuthorizationEventArgs.cs
- hwndwrapper.cs
- FileRegion.cs
- CompositeScriptReference.cs
- Vertex.cs
- ServiceDescriptionImporter.cs
- EntitySqlQueryCacheEntry.cs
- WebPartTransformerAttribute.cs
- SQLGuidStorage.cs
- SortQuery.cs
- BuildProviderCollection.cs
- AdornerLayer.cs
- UnmanagedMemoryStreamWrapper.cs
- TransformerInfo.cs
- Accessible.cs
- ListInitExpression.cs
- DynamicMetaObjectBinder.cs
- TextEditor.cs
- MissingMethodException.cs
- ProfileManager.cs
- IconConverter.cs
- SqlUnionizer.cs
- WebPartTracker.cs
- Msmq4SubqueuePoisonHandler.cs
- PanelStyle.cs
- DictionaryBase.cs
- Cursor.cs
- RenameRuleObjectDialog.Designer.cs
- _AutoWebProxyScriptWrapper.cs
- PromptBuilder.cs
- StreamingContext.cs
- Main.cs
- PenContexts.cs
- ReferenceCountedObject.cs
- XAMLParseException.cs
- ControlBuilder.cs
- HttpWriter.cs
- tooltip.cs
- ToolStripSeparatorRenderEventArgs.cs
- FileInfo.cs
- assemblycache.cs
- GridViewUpdatedEventArgs.cs
- SqlUnionizer.cs
- CheckBoxFlatAdapter.cs
- Descriptor.cs
- XhtmlConformanceSection.cs
- CustomError.cs
- KeyValueConfigurationCollection.cs
- TaskExceptionHolder.cs
- StreamWithDictionary.cs
- MenuItem.cs
- ToolStripItemImageRenderEventArgs.cs
- ProxyHelper.cs
- Scheduler.cs
- TaiwanCalendar.cs
- BCLDebug.cs
- SRGSCompiler.cs
- GridViewCommandEventArgs.cs
- TemplateXamlTreeBuilder.cs
- FieldNameLookup.cs
- IconConverter.cs
- ClientSession.cs
- UserPreferenceChangedEventArgs.cs
- IntersectQueryOperator.cs
- ProfileEventArgs.cs
- ItemList.cs
- AccessDataSourceView.cs
- LinkLabel.cs
- TraceContextRecord.cs