Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / RetriableClipboard.cs / 1305376 / RetriableClipboard.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Threading; using System.Windows; using System.Windows.Media.Imaging; using System.Runtime.InteropServices; using System.Runtime; using System.Diagnostics; // The clipboard may be accessed by other processes. // RetriableClipboard retries several times before giving up. static class RetriableClipboard { const int retryCount = 10; const int sleepTime = 50; internal static IDataObject GetDataObject() { for (int i = 0; i < retryCount; i++) { try { return Clipboard.GetDataObject(); } catch (Exception err) { Trace.WriteLine(err.ToString()); if (Fx.IsFatal(err)) { throw; } Thread.Sleep(sleepTime); } } return null; } internal static void SetDataObject(object data, bool copy) { for (int i = 0; i < retryCount; i++) { try { Clipboard.SetDataObject(data, copy); return; } catch (Exception err) { Trace.WriteLine(err.ToString()); if (Fx.IsFatal(err)) { throw; } Thread.Sleep(sleepTime); } } } internal static void SetImage(BitmapSource image) { for (int i = 0; i < retryCount; i++) { try { Clipboard.SetImage(image); return; } catch (Exception err) { Trace.WriteLine(err.ToString()); if (Fx.IsFatal(err)) { throw; } Thread.Sleep(sleepTime); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Threading; using System.Windows; using System.Windows.Media.Imaging; using System.Runtime.InteropServices; using System.Runtime; using System.Diagnostics; // The clipboard may be accessed by other processes. // RetriableClipboard retries several times before giving up. static class RetriableClipboard { const int retryCount = 10; const int sleepTime = 50; internal static IDataObject GetDataObject() { for (int i = 0; i < retryCount; i++) { try { return Clipboard.GetDataObject(); } catch (Exception err) { Trace.WriteLine(err.ToString()); if (Fx.IsFatal(err)) { throw; } Thread.Sleep(sleepTime); } } return null; } internal static void SetDataObject(object data, bool copy) { for (int i = 0; i < retryCount; i++) { try { Clipboard.SetDataObject(data, copy); return; } catch (Exception err) { Trace.WriteLine(err.ToString()); if (Fx.IsFatal(err)) { throw; } Thread.Sleep(sleepTime); } } } internal static void SetImage(BitmapSource image) { for (int i = 0; i < retryCount; i++) { try { Clipboard.SetImage(image); return; } catch (Exception err) { Trace.WriteLine(err.ToString()); if (Fx.IsFatal(err)) { throw; } Thread.Sleep(sleepTime); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ByteAnimationBase.cs
- MDIControlStrip.cs
- WebPartDisplayModeCollection.cs
- AlphabeticalEnumConverter.cs
- EventProviderBase.cs
- XPathNodeList.cs
- FormsAuthenticationUser.cs
- COM2IDispatchConverter.cs
- ValidationHelpers.cs
- XmlSchemaAnyAttribute.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SqlDataSourceCommandEventArgs.cs
- DesignerActionKeyboardBehavior.cs
- SerializationBinder.cs
- XMLDiffLoader.cs
- MarkedHighlightComponent.cs
- AdornerPresentationContext.cs
- RadioButtonBaseAdapter.cs
- Attributes.cs
- DataGridViewRowStateChangedEventArgs.cs
- DataReaderContainer.cs
- MemoryMappedFile.cs
- WinInetCache.cs
- HTMLTextWriter.cs
- exports.cs
- TemplateEditingService.cs
- SHA384Managed.cs
- OrderedDictionaryStateHelper.cs
- AutomationProperties.cs
- PropertyGeneratedEventArgs.cs
- FontWeights.cs
- PersonalizationStateInfoCollection.cs
- SeekStoryboard.cs
- wmiprovider.cs
- ListViewDataItem.cs
- XmlElementAttributes.cs
- ObjectDataSourceSelectingEventArgs.cs
- _LocalDataStore.cs
- UniqueTransportManagerRegistration.cs
- TraceInternal.cs
- SqlProfileProvider.cs
- SQLCharsStorage.cs
- SqlCacheDependencyDatabaseCollection.cs
- DataGridToolTip.cs
- ZoneIdentityPermission.cs
- SelectionItemProviderWrapper.cs
- NetworkCredential.cs
- ReadOnlyDictionary.cs
- GridViewPageEventArgs.cs
- MetadataStore.cs
- DrawingContext.cs
- CryptoKeySecurity.cs
- HttpStaticObjectsCollectionWrapper.cs
- SendKeys.cs
- TokenBasedSetEnumerator.cs
- SqlSupersetValidator.cs
- VirtualPathExtension.cs
- SpellerError.cs
- sqlstateclientmanager.cs
- DisposableCollectionWrapper.cs
- PropertyGridCommands.cs
- TargetPerspective.cs
- NavigationProgressEventArgs.cs
- EventPrivateKey.cs
- IntegerValidatorAttribute.cs
- EntityCommandCompilationException.cs
- FrameworkTemplate.cs
- MoveSizeWinEventHandler.cs
- DataGridViewRowConverter.cs
- TraceSection.cs
- AspNetPartialTrustHelpers.cs
- DataGridViewColumn.cs
- ConfigDefinitionUpdates.cs
- LoadRetryStrategyFactory.cs
- MessageQueueKey.cs
- WmfPlaceableFileHeader.cs
- PublishLicense.cs
- initElementDictionary.cs
- Validator.cs
- ExceptionUtility.cs
- ControlIdConverter.cs
- DesignerSerializerAttribute.cs
- ContainerFilterService.cs
- XmlSchemaGroupRef.cs
- InputEventArgs.cs
- Attributes.cs
- CharEntityEncoderFallback.cs
- UInt32Converter.cs
- WinFormsComponentEditor.cs
- BasicViewGenerator.cs
- COM2Enum.cs
- WMIGenerator.cs
- HostingEnvironmentSection.cs
- HtmlTableRow.cs
- CodeTypeMember.cs
- WorkflowRuntimeSection.cs
- DataBoundControl.cs
- SmiSettersStream.cs
- DataGridViewCellEventArgs.cs
- InvalidateEvent.cs