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
- EntityDataSourceEntitySetNameItem.cs
- FontDialog.cs
- BitmapEffectInput.cs
- FontSourceCollection.cs
- StorageAssociationSetMapping.cs
- HwndSubclass.cs
- XmlBaseReader.cs
- Encoder.cs
- TableLayoutSettings.cs
- PolicyLevel.cs
- StatusBarPanel.cs
- DefaultPrintController.cs
- Pens.cs
- LinkedResource.cs
- QueryCacheKey.cs
- XmlAutoDetectWriter.cs
- srgsitem.cs
- SyndicationItem.cs
- MultiTrigger.cs
- SessionPageStatePersister.cs
- FixedSOMTable.cs
- PackageRelationshipSelector.cs
- Label.cs
- SetterBase.cs
- XpsS0ValidatingLoader.cs
- Animatable.cs
- ItemDragEvent.cs
- PrivilegedConfigurationManager.cs
- TextParaLineResult.cs
- BindingExpressionBase.cs
- SurrogateEncoder.cs
- EmptyEnumerable.cs
- GacUtil.cs
- AssemblyCache.cs
- SamlAttributeStatement.cs
- EdmTypeAttribute.cs
- SqlDataSourceSelectingEventArgs.cs
- RuleSettingsCollection.cs
- PrintDocument.cs
- DefaultParameterValueAttribute.cs
- WebPartZone.cs
- ClockController.cs
- RequestTimeoutManager.cs
- XmlObjectSerializerReadContextComplex.cs
- SecureConversationServiceCredential.cs
- AnimationException.cs
- LinqDataSourceDisposeEventArgs.cs
- SiteMapSection.cs
- XLinq.cs
- SmiRecordBuffer.cs
- _NativeSSPI.cs
- _KerberosClient.cs
- SharedPerformanceCounter.cs
- ConsumerConnectionPoint.cs
- EditingMode.cs
- RSAOAEPKeyExchangeFormatter.cs
- SelectionRange.cs
- XsdBuilder.cs
- PasswordBox.cs
- GridViewRowCollection.cs
- XpsFixedDocumentReaderWriter.cs
- InstancePersistenceContext.cs
- XmlStreamStore.cs
- TextBounds.cs
- PerformanceCounterPermissionAttribute.cs
- LongValidatorAttribute.cs
- SQLInt32.cs
- TreeNodeConverter.cs
- ImageIndexEditor.cs
- ListViewGroup.cs
- ProfessionalColorTable.cs
- _SslSessionsCache.cs
- TrackingWorkflowEventArgs.cs
- CodeCatchClauseCollection.cs
- UInt16Converter.cs
- MediaPlayerState.cs
- ColorContext.cs
- TextEndOfLine.cs
- DragEventArgs.cs
- CellTreeNode.cs
- SqlDataSourceConfigureSelectPanel.cs
- IdentityManager.cs
- VisualProxy.cs
- DataServiceProviderMethods.cs
- DataGridState.cs
- MimeTypeAttribute.cs
- Stack.cs
- HttpPostedFile.cs
- Vector.cs
- GcHandle.cs
- ParsedRoute.cs
- DaylightTime.cs
- WebPartHelpVerb.cs
- DataGridViewRowEventArgs.cs
- WindowsTab.cs
- OleTxTransaction.cs
- Touch.cs
- ResourcesBuildProvider.cs
- SQLBytes.cs
- TypeConverterAttribute.cs