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
- SqlBuffer.cs
- RegexRunnerFactory.cs
- HttpApplicationFactory.cs
- ValidationResult.cs
- UserThread.cs
- DesignerTransactionCloseEvent.cs
- SemaphoreSecurity.cs
- RotationValidation.cs
- WindowsIPAddress.cs
- QueryableDataSourceHelper.cs
- WeakReferenceKey.cs
- GridView.cs
- __Error.cs
- Package.cs
- CodeExpressionStatement.cs
- LocationUpdates.cs
- ErrorWebPart.cs
- TextParaLineResult.cs
- InheritedPropertyChangedEventArgs.cs
- FlowSwitchDesigner.xaml.cs
- ControlUtil.cs
- SplitterCancelEvent.cs
- Win32.cs
- TextTreeFixupNode.cs
- ModuleBuilder.cs
- TextSpan.cs
- HtmlLabelAdapter.cs
- ParentQuery.cs
- SplitContainer.cs
- TextWriter.cs
- ModelPropertyImpl.cs
- WebPartActionVerb.cs
- MembershipSection.cs
- CodeTypeParameter.cs
- GacUtil.cs
- SymmetricSecurityProtocolFactory.cs
- XPathNodeInfoAtom.cs
- WorkerRequest.cs
- AccessText.cs
- Track.cs
- PartialList.cs
- InkSerializer.cs
- RepeatInfo.cs
- documentsequencetextcontainer.cs
- SvcMapFileSerializer.cs
- TextSchema.cs
- WebPartConnectionsEventArgs.cs
- ExpressionVisitor.cs
- COM2ExtendedUITypeEditor.cs
- CategoryEditor.cs
- ApplicationBuildProvider.cs
- SqlExpressionNullability.cs
- PropertyValue.cs
- TypeDescriptionProviderAttribute.cs
- DPTypeDescriptorContext.cs
- GridViewRowCollection.cs
- TimelineGroup.cs
- Hash.cs
- XmlSchemaSimpleContent.cs
- IntPtr.cs
- StylusButtonEventArgs.cs
- SessionIDManager.cs
- ElementMarkupObject.cs
- WizardStepBase.cs
- DesignerSelectionListAdapter.cs
- PrintController.cs
- HierarchicalDataSourceIDConverter.cs
- BrowserCapabilitiesFactory.cs
- FileIOPermission.cs
- CheckBox.cs
- DelimitedListTraceListener.cs
- CoreSwitches.cs
- SqlPersonalizationProvider.cs
- ResetableIterator.cs
- Socket.cs
- _SslState.cs
- SchemaAttDef.cs
- odbcmetadatafactory.cs
- LogEntryHeaderDeserializer.cs
- SoapSchemaImporter.cs
- ToolboxBitmapAttribute.cs
- TextEffect.cs
- FormsAuthenticationModule.cs
- WorkflowItemPresenter.cs
- BamlRecordReader.cs
- MSAANativeProvider.cs
- HtmlHead.cs
- HitTestParameters3D.cs
- ObjectIDGenerator.cs
- UnsafeNativeMethods.cs
- XmlSchemaComplexType.cs
- _RequestCacheProtocol.cs
- FrameworkPropertyMetadata.cs
- ConstraintManager.cs
- WebScriptMetadataFormatter.cs
- ResourceContainer.cs
- MDIWindowDialog.cs
- DPTypeDescriptorContext.cs
- SafeCryptoHandles.cs
- Roles.cs