Code:
/ 4.0 / 4.0 / 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. 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
- TextProperties.cs
- RequestDescription.cs
- TextRangeEditTables.cs
- MsmqMessage.cs
- ObjectDataSourceView.cs
- HttpDebugHandler.cs
- SizeLimitedCache.cs
- DesignTimeTemplateParser.cs
- CodeDomConfigurationHandler.cs
- ProfileService.cs
- DashStyles.cs
- ItemCollection.cs
- CompilerGlobalScopeAttribute.cs
- WindowsRichEdit.cs
- Mouse.cs
- ScriptRef.cs
- XamlTypeMapper.cs
- ContentPosition.cs
- QueryOutputWriter.cs
- DefaultHttpHandler.cs
- Assembly.cs
- CompilationSection.cs
- SharedPersonalizationStateInfo.cs
- XmlSerializationGeneratedCode.cs
- BindMarkupExtensionSerializer.cs
- FigureHelper.cs
- SHA384Managed.cs
- TableRowCollection.cs
- CodeAttributeDeclarationCollection.cs
- SqlInternalConnectionTds.cs
- MemberListBinding.cs
- M3DUtil.cs
- SspiSafeHandles.cs
- FormatSettings.cs
- PixelFormat.cs
- FixedSOMFixedBlock.cs
- ZipIOBlockManager.cs
- ImageFormat.cs
- XmlIlGenerator.cs
- regiisutil.cs
- ListParagraph.cs
- VectorAnimationBase.cs
- XmlUtil.cs
- IMembershipProvider.cs
- DbDeleteCommandTree.cs
- ParserContext.cs
- StrongNamePublicKeyBlob.cs
- WindowPatternIdentifiers.cs
- InvalidBodyAccessException.cs
- RangeValidator.cs
- TextTreeTextBlock.cs
- InputDevice.cs
- QueryStoreStatusRequest.cs
- PassportAuthentication.cs
- CommandValueSerializer.cs
- Input.cs
- CompModHelpers.cs
- SqlDataSourceCustomCommandPanel.cs
- ToolStripContentPanel.cs
- RepeaterCommandEventArgs.cs
- ReachDocumentSequenceSerializer.cs
- WindowsStatic.cs
- SponsorHelper.cs
- BuildManager.cs
- CompiledQueryCacheKey.cs
- TriggerActionCollection.cs
- ReferentialConstraintRoleElement.cs
- InternalPermissions.cs
- LastQueryOperator.cs
- StructuralObject.cs
- DescendantQuery.cs
- XmlRawWriterWrapper.cs
- DataStorage.cs
- Soap12ServerProtocol.cs
- NavigationExpr.cs
- Variant.cs
- Matrix.cs
- UpDownEvent.cs
- ConsoleEntryPoint.cs
- Parser.cs
- WindowsSolidBrush.cs
- DocumentXmlWriter.cs
- IdentityHolder.cs
- Menu.cs
- DbDataRecord.cs
- Simplifier.cs
- LinqDataSourceSelectEventArgs.cs
- CustomAttributeFormatException.cs
- Base64Stream.cs
- WebRequest.cs
- HostingEnvironmentSection.cs
- StateMachineWorkflowInstance.cs
- DataGridViewTextBoxColumn.cs
- Operand.cs
- MasterPageParser.cs
- DataGridViewTopRowAccessibleObject.cs
- PropertyStore.cs
- PDBReader.cs
- Array.cs
- odbcmetadatacolumnnames.cs