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
- SimpleBitVector32.cs
- OpenFileDialog.cs
- XmlSchemaAnyAttribute.cs
- StateManagedCollection.cs
- BrowserCapabilitiesFactoryBase.cs
- SmiEventSink.cs
- NetworkInterface.cs
- ScalarOps.cs
- PersistenceParticipant.cs
- MemberProjectionIndex.cs
- WebControlsSection.cs
- JsonQNameDataContract.cs
- XmlSchemaComplexType.cs
- GifBitmapDecoder.cs
- ListManagerBindingsCollection.cs
- basemetadatamappingvisitor.cs
- Int32CAMarshaler.cs
- Pair.cs
- XslCompiledTransform.cs
- ItemList.cs
- DataServiceQueryOfT.cs
- AvTraceFormat.cs
- WindowsToolbarItemAsMenuItem.cs
- FrameDimension.cs
- LayoutExceptionEventArgs.cs
- LocationUpdates.cs
- XsdBuilder.cs
- MessageSecurityException.cs
- WebBrowserContainer.cs
- ClientSideQueueItem.cs
- ResourceCategoryAttribute.cs
- TranslateTransform3D.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SyndicationItemFormatter.cs
- TrackingMemoryStreamFactory.cs
- CompositeDataBoundControl.cs
- CompositeScriptReferenceEventArgs.cs
- EventProviderClassic.cs
- UTF7Encoding.cs
- DisposableCollectionWrapper.cs
- StringReader.cs
- PrePrepareMethodAttribute.cs
- WebPartCatalogCloseVerb.cs
- EventLogPermissionEntry.cs
- DataServicePagingProviderWrapper.cs
- StylusButton.cs
- SqlDependency.cs
- SrgsDocumentParser.cs
- SqlBooleanMismatchVisitor.cs
- FileDialog.cs
- ISSmlParser.cs
- brushes.cs
- FontUnit.cs
- SaveFileDialog.cs
- MailBnfHelper.cs
- BoundsDrawingContextWalker.cs
- ActivityFunc.cs
- IconBitmapDecoder.cs
- MdiWindowListStrip.cs
- MonitorWrapper.cs
- ServicesUtilities.cs
- AutoResetEvent.cs
- SapiAttributeParser.cs
- PanelStyle.cs
- FilterableAttribute.cs
- Stacktrace.cs
- ThreadExceptionDialog.cs
- XmlWrappingWriter.cs
- CFGGrammar.cs
- ThreadAttributes.cs
- CellParagraph.cs
- XmlQualifiedName.cs
- XmlReader.cs
- JsonWriter.cs
- Attribute.cs
- RecordConverter.cs
- WebScriptServiceHost.cs
- XamlStyleSerializer.cs
- EventLogPermissionEntryCollection.cs
- ResolveNextArgumentWorkItem.cs
- httpserverutility.cs
- FormatterConverter.cs
- FixedSOMPageElement.cs
- CompositionTarget.cs
- SafeNativeMemoryHandle.cs
- AnimationStorage.cs
- SerializationSectionGroup.cs
- ArrayMergeHelper.cs
- UndoEngine.cs
- QueryExpr.cs
- Serializer.cs
- XmlSerializationReader.cs
- ReaderWriterLockWrapper.cs
- InvalidOperationException.cs
- RootBrowserWindow.cs
- EventLogWatcher.cs
- UnsupportedPolicyOptionsException.cs
- UriParserTemplates.cs
- ConnectivityStatus.cs
- HtmlInputFile.cs