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
- HandlerWithFactory.cs
- BindingNavigatorDesigner.cs
- PeerServiceMessageContracts.cs
- AdornerPresentationContext.cs
- DeferrableContentConverter.cs
- FixedSOMLineCollection.cs
- XmlKeywords.cs
- ScriptModule.cs
- HyperlinkAutomationPeer.cs
- KeyNotFoundException.cs
- XmlSchemaObjectCollection.cs
- ListBoxChrome.cs
- ProtocolElement.cs
- WebPartTransformerCollection.cs
- CommonXSendMessage.cs
- WindowVisualStateTracker.cs
- StrongName.cs
- BinaryObjectWriter.cs
- CodeBinaryOperatorExpression.cs
- DefaultBindingPropertyAttribute.cs
- ListViewGroupConverter.cs
- ImplicitInputBrush.cs
- String.cs
- GradientStop.cs
- Focus.cs
- ActivitySurrogateSelector.cs
- CalendarDesigner.cs
- Vector.cs
- cryptoapiTransform.cs
- SaveFileDialog.cs
- ByteStorage.cs
- CustomTrackingQuery.cs
- WebServiceEnumData.cs
- SwitchElementsCollection.cs
- Native.cs
- EdmItemCollection.cs
- ItemCheckEvent.cs
- HttpClientCertificate.cs
- CodeGotoStatement.cs
- UIElementPropertyUndoUnit.cs
- InputScope.cs
- TabPanel.cs
- TemplateLookupAction.cs
- Events.cs
- DynamicResourceExtension.cs
- GridViewCommandEventArgs.cs
- RSAPKCS1SignatureDeformatter.cs
- ClientEventManager.cs
- CultureSpecificCharacterBufferRange.cs
- SafeNativeMethods.cs
- TryExpression.cs
- MgmtResManager.cs
- QilXmlWriter.cs
- WebPartMenuStyle.cs
- RuntimeConfigurationRecord.cs
- HandlerWithFactory.cs
- GenericTypeParameterBuilder.cs
- RectAnimationBase.cs
- ISAPIRuntime.cs
- ScriptingAuthenticationServiceSection.cs
- DataRelationPropertyDescriptor.cs
- TextTreeInsertUndoUnit.cs
- IndependentlyAnimatedPropertyMetadata.cs
- HMACSHA1.cs
- DataGridAddNewRow.cs
- CurrentChangedEventManager.cs
- Highlights.cs
- GroupByQueryOperator.cs
- UrlPropertyAttribute.cs
- TextRangeEditLists.cs
- ApplicationFileParser.cs
- _LocalDataStoreMgr.cs
- PointLight.cs
- PerformanceCounterTraceRecord.cs
- EventLogEntryCollection.cs
- RowType.cs
- TripleDES.cs
- ExternalDataExchangeService.cs
- GestureRecognizer.cs
- QueryExpression.cs
- HttpContext.cs
- GenerateTemporaryTargetAssembly.cs
- ErrorRuntimeConfig.cs
- GraphicsPathIterator.cs
- ContentPropertyAttribute.cs
- ProtectedConfiguration.cs
- ActiveDocumentEvent.cs
- AllowedAudienceUriElement.cs
- HMAC.cs
- Tracking.cs
- HostSecurityManager.cs
- Evidence.cs
- ShapeTypeface.cs
- ExpressionQuoter.cs
- hebrewshape.cs
- XmlSchema.cs
- WinEventWrap.cs
- ObjectStateFormatter.cs
- WasEndpointConfigContainer.cs
- FlowLayoutPanel.cs