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
- ClientBuildManager.cs
- KnownTypeDataContractResolver.cs
- XPathNodeHelper.cs
- Transform3D.cs
- ReservationNotFoundException.cs
- CustomErrorCollection.cs
- DataGridState.cs
- X509CertificateValidationMode.cs
- ProxyManager.cs
- HitTestParameters3D.cs
- FacetValueContainer.cs
- LingerOption.cs
- PeerService.cs
- ExpressionBindings.cs
- Assert.cs
- FacetChecker.cs
- DiagnosticsConfigurationHandler.cs
- InputLanguageCollection.cs
- Single.cs
- HelpKeywordAttribute.cs
- NativeMethods.cs
- MatrixTransform.cs
- Documentation.cs
- SourceFileInfo.cs
- _UriSyntax.cs
- QueryLifecycle.cs
- DataGridViewAutoSizeModeEventArgs.cs
- HttpCacheParams.cs
- CollectionConverter.cs
- FileLevelControlBuilderAttribute.cs
- SoapAttributes.cs
- Parser.cs
- FastPropertyAccessor.cs
- ApplicationHost.cs
- ScriptIgnoreAttribute.cs
- mda.cs
- ComboBox.cs
- TcpProcessProtocolHandler.cs
- DataBoundControlHelper.cs
- XmlArrayAttribute.cs
- ContractHandle.cs
- WebBrowser.cs
- altserialization.cs
- XmlNavigatorFilter.cs
- StorageEntityContainerMapping.cs
- FontDriver.cs
- ContravarianceAdapter.cs
- TableItemPattern.cs
- FocusWithinProperty.cs
- LinkGrep.cs
- DataGridViewRowsRemovedEventArgs.cs
- SqlTriggerContext.cs
- AuthenticationSchemesHelper.cs
- TraceSwitch.cs
- DPAPIProtectedConfigurationProvider.cs
- StylusPointPropertyInfoDefaults.cs
- Point3DCollection.cs
- DockEditor.cs
- CharEnumerator.cs
- OracleTimeSpan.cs
- CompiledQueryCacheKey.cs
- XmlSerializerVersionAttribute.cs
- DecimalMinMaxAggregationOperator.cs
- SizeChangedInfo.cs
- ControlAdapter.cs
- _FixedSizeReader.cs
- _SSPISessionCache.cs
- ViewLoader.cs
- DeploymentSection.cs
- XMLSyntaxException.cs
- ForwardPositionQuery.cs
- SafeTimerHandle.cs
- SortQuery.cs
- filewebresponse.cs
- CredentialSelector.cs
- FormClosingEvent.cs
- ValidatedControlConverter.cs
- DependencyPropertyChangedEventArgs.cs
- ScriptBehaviorDescriptor.cs
- BCryptSafeHandles.cs
- peernodestatemanager.cs
- InternalBufferManager.cs
- RegionIterator.cs
- MarkupCompiler.cs
- EncodingConverter.cs
- SqlMethodAttribute.cs
- WebPartCancelEventArgs.cs
- BasicBrowserDialog.designer.cs
- LocalizationComments.cs
- XhtmlConformanceSection.cs
- MachineKey.cs
- TemplateControl.cs
- ColorConverter.cs
- RtfToXamlLexer.cs
- Accessors.cs
- ReadOnlyCollectionBase.cs
- Size.cs
- CreateRefExpr.cs
- DrawingContextDrawingContextWalker.cs
- InternalCompensate.cs