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
- BuildResultCache.cs
- SessionSwitchEventArgs.cs
- ApplicationGesture.cs
- TextModifier.cs
- SqlGatherConsumedAliases.cs
- HealthMonitoringSection.cs
- GenericTextProperties.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- InheritanceRules.cs
- ResourceReader.cs
- SchemaImporterExtensionElement.cs
- FixedHighlight.cs
- PropertyNames.cs
- WindowsIdentity.cs
- DispatcherExceptionEventArgs.cs
- ObjectDataSource.cs
- UIElementPropertyUndoUnit.cs
- AdRotatorDesigner.cs
- SqlUnionizer.cs
- GatewayDefinition.cs
- messageonlyhwndwrapper.cs
- ResourceReferenceExpressionConverter.cs
- initElementDictionary.cs
- TextContainer.cs
- SizeAnimationUsingKeyFrames.cs
- SerialPinChanges.cs
- DataGridPagerStyle.cs
- RedBlackList.cs
- SerializerWriterEventHandlers.cs
- JoinTreeSlot.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- WebPartConnectionsDisconnectVerb.cs
- List.cs
- TypeDescriptor.cs
- GeneralTransformGroup.cs
- BooleanStorage.cs
- Variant.cs
- ClientType.cs
- HwndMouseInputProvider.cs
- LinkLabel.cs
- MsmqActivation.cs
- SingleStorage.cs
- WmlTextBoxAdapter.cs
- InstancePersistenceCommandException.cs
- LongTypeConverter.cs
- ToolBarButton.cs
- BinaryFormatterSinks.cs
- DataShape.cs
- SymmetricKeyWrap.cs
- Glyph.cs
- IgnorePropertiesAttribute.cs
- TypeExtensionConverter.cs
- PersistencePipeline.cs
- XslTransform.cs
- ToolStripItemImageRenderEventArgs.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- PropertyDescriptor.cs
- _ConnectStream.cs
- InfoCard.cs
- WebPartDisplayMode.cs
- HtmlInputRadioButton.cs
- DesignerHierarchicalDataSourceView.cs
- DocumentationServerProtocol.cs
- XmlRootAttribute.cs
- Pair.cs
- AdjustableArrowCap.cs
- FormatVersion.cs
- TableLayoutStyleCollection.cs
- AvTraceFormat.cs
- GPRECTF.cs
- ArgumentValue.cs
- TypeLibConverter.cs
- EnumBuilder.cs
- SequentialUshortCollection.cs
- StrongTypingException.cs
- StatusBar.cs
- DefaultValueTypeConverter.cs
- DisposableCollectionWrapper.cs
- ContentPresenter.cs
- COM2IDispatchConverter.cs
- AttributeUsageAttribute.cs
- CreatingCookieEventArgs.cs
- GregorianCalendar.cs
- Documentation.cs
- ReservationCollection.cs
- StringFormat.cs
- SemaphoreSecurity.cs
- sqlpipe.cs
- TokenBasedSet.cs
- PagerSettings.cs
- Decorator.cs
- PagedDataSource.cs
- ViewValidator.cs
- ScrollBar.cs
- XPathItem.cs
- ErrorFormatterPage.cs
- XamlSerializerUtil.cs
- CalendarDay.cs
- AssemblyAssociatedContentFileAttribute.cs
- SelectedCellsCollection.cs