Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / DbRetry.cs / 1305376 / DbRetry.cs
using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace System.Workflow.Runtime { internal class DbRetry { private const short _defaultMaxRetries = 20; private const int _defaultRetrySleep = 2000; private const short _spinCount = 3; private short _maxRetries = _defaultMaxRetries; private int _retrySleep = _defaultRetrySleep; private bool _enableRetries = false; protected DbRetry() { } internal DbRetry(bool enableRetries) { _enableRetries = enableRetries; } internal short MaxRetries { get { return _maxRetries; } } internal bool TryDoRetry(ref short retryCount) { if (CanRetry(retryCount++)) { RetrySleep(retryCount); return true; } else return false; } internal bool CanRetry(short retryCount) { if (!_enableRetries) return false; if (retryCount < _maxRetries) return true; else return false; } internal void RetrySleep(short retryCount) { // // For the first couple of retries just spin // If we fail _spinCount times start then introduce a sleep if (retryCount <= _spinCount) return; int sleep = _retrySleep * retryCount; Thread.Sleep(sleep); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BitmapMetadataBlob.cs
- Command.cs
- FileSystemWatcher.cs
- SqlServices.cs
- SchemaExporter.cs
- NumericUpDownAccelerationCollection.cs
- WebPartCatalogCloseVerb.cs
- AsymmetricKeyExchangeDeformatter.cs
- UserControlBuildProvider.cs
- GeometryCollection.cs
- ResourceDescriptionAttribute.cs
- CodeTypeConstructor.cs
- QueryStringParameter.cs
- AccessedThroughPropertyAttribute.cs
- ExceptionHelpers.cs
- DropShadowBitmapEffect.cs
- FixedSOMPageElement.cs
- querybuilder.cs
- XmlWriterTraceListener.cs
- DbConvert.cs
- TextParagraphCache.cs
- LocatorGroup.cs
- CompilerLocalReference.cs
- ListControl.cs
- ProxyElement.cs
- DigestTraceRecordHelper.cs
- PropertyPathConverter.cs
- DataBoundLiteralControl.cs
- TempEnvironment.cs
- GridLength.cs
- XmlNotation.cs
- RC2CryptoServiceProvider.cs
- PropertyStore.cs
- WindowsFormsLinkLabel.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ConstructorExpr.cs
- ErrorHandler.cs
- SafeFindHandle.cs
- EntityModelBuildProvider.cs
- NativeMethods.cs
- SqlDependencyUtils.cs
- PeerDuplexChannelListener.cs
- IisTraceWebEventProvider.cs
- StringDictionary.cs
- ChannelManagerBase.cs
- EventOpcode.cs
- SafeNativeMethods.cs
- DrawingImage.cs
- RC2CryptoServiceProvider.cs
- Grant.cs
- RijndaelManagedTransform.cs
- XmlSchema.cs
- Dispatcher.cs
- ImageCodecInfoPrivate.cs
- NameNode.cs
- ProfileSection.cs
- ImageInfo.cs
- Label.cs
- LinearGradientBrush.cs
- HashCryptoHandle.cs
- PropertyValueUIItem.cs
- ObjectQuery.cs
- AttributeInfo.cs
- SignedXmlDebugLog.cs
- TemplatePartAttribute.cs
- _NetworkingPerfCounters.cs
- ExpandSegment.cs
- CollectionBuilder.cs
- CommandID.cs
- SystemIPInterfaceProperties.cs
- CollectionView.cs
- ProfileGroupSettingsCollection.cs
- SqlDependency.cs
- RelationalExpressions.cs
- TemplateKeyConverter.cs
- TypeTypeConverter.cs
- relpropertyhelper.cs
- ConvertersCollection.cs
- OciHandle.cs
- ServiceModelConfigurationSection.cs
- BrowserCapabilitiesCodeGenerator.cs
- Exceptions.cs
- ServicesUtilities.cs
- TemplateInstanceAttribute.cs
- AudioStateChangedEventArgs.cs
- TypeAccessException.cs
- Parser.cs
- CellParagraph.cs
- InfoCardKeyedHashAlgorithm.cs
- FormsAuthenticationTicket.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RightsManagementEncryptionTransform.cs
- IISUnsafeMethods.cs
- Pair.cs
- Focus.cs
- InstrumentationTracker.cs
- RegexInterpreter.cs
- FillRuleValidation.cs
- CompareInfo.cs
- ShortcutKeysEditor.cs