protected internal ReplicatedTableConfigurationManager( List<ConfigurationStoreLocationInfo> blobLocations, Dictionary<string, SecureString> connectionStringMap, bool useHttps, int lockTimeoutInSeconds, IReplicatedTableConfigurationParser blobParser) { this.blobLocations = blobLocations; this.ConnectionStrings = connectionStringMap; this.useHttps = useHttps; this.LockTimeout = TimeSpan.FromSeconds(lockTimeoutInSeconds == 0 ? Constants.LockTimeoutInSeconds : lockTimeoutInSeconds); this.LeaseDuration = TimeSpan.FromSeconds(Constants.LeaseRenewalIntervalInSec); this.Initialize(); this.blobParser = blobParser; /* IMPORTANT: * It is wrong to get a call-back before Constructor finishes ! * For that, Timer has to be DISABLED initially. */ viewRefreshTimer = new PeriodicTimer(RefreshReadAndWriteViewsFromBlobs, null, TimeSpan.FromMilliseconds(-1), TimeSpan.FromSeconds(TimerIntervalInSeconds)); }
internal protected ReplicatedTableConfigurationManager( List <ConfigurationStoreLocationInfo> blobLocations, Dictionary <string, SecureString> connectionStringMap, bool useHttps, int lockTimeoutInSeconds, IReplicatedTableConfigurationParser blobParser) { this.blobLocations = blobLocations; this.ConnectionStrings = connectionStringMap; this.useHttps = useHttps; this.LockTimeout = TimeSpan.FromSeconds(lockTimeoutInSeconds == 0 ? Constants.LockTimeoutInSeconds : lockTimeoutInSeconds); this.LeaseDuration = TimeSpan.FromSeconds(Constants.LeaseRenewalIntervalInSec); this.Initialize(); this.blobParser = blobParser; /* IMPORTANT: * It is wrong to get a call-back before Constructor finishes ! * For that, Timer has to be DISABLED initially. */ viewRefreshTimer = new PeriodicTimer(RefreshReadAndWriteViewsFromBlobs, null, TimeSpan.FromMilliseconds(-1), TimeSpan.FromSeconds(TimerIntervalInSeconds)); }