//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ using System.Configuration; using System.ComponentModel; namespace System.IdentityModel.Configuration { /// /// Manages the configuration of a TokenReplayDetection element /// public sealed partial class TokenReplayDetectionElement : ConfigurationElement { /// /// Enabled, optional. Specifies if replays should be detected. /// [ConfigurationProperty( ConfigurationStrings.Enabled, IsRequired = false, DefaultValue = false )] public bool Enabled { get { return (bool)this[ConfigurationStrings.Enabled]; } set { this[ConfigurationStrings.Enabled] = value; } } /// /// ExpirationPeriod optional. Specifies the maximum amount of time before an item is considered expired and removed from the cache. /// [ConfigurationProperty(ConfigurationStrings.ExpirationPeriod, IsRequired = false, DefaultValue = ConfigurationStrings.TimeSpanMaxValue)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [IdentityModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero, MaxValueString = ConfigurationStrings.TimeSpanMaxValue)] public TimeSpan ExpirationPeriod { get { return (TimeSpan)this[ConfigurationStrings.ExpirationPeriod]; } set { this[ConfigurationStrings.ExpirationPeriod] = value; } } /// /// Returns a value indicating whether this element has been configured with non-default values. /// internal bool IsConfigured { get { return (ElementInformation.Properties[ConfigurationStrings.Enabled].ValueOrigin != PropertyValueOrigin.Default || ElementInformation.Properties[ConfigurationStrings.ExpirationPeriod].ValueOrigin != PropertyValueOrigin.Default); } } } }