Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SignedXml.cs
- BufferedReadStream.cs
- DataControlCommands.cs
- RegexWorker.cs
- ProtocolException.cs
- XomlCompilerResults.cs
- CompositeKey.cs
- BooleanAnimationBase.cs
- NamespaceImport.cs
- BindingExpressionBase.cs
- OleDbErrorCollection.cs
- CFStream.cs
- SingleStorage.cs
- SmiRecordBuffer.cs
- TextCompositionManager.cs
- TreeNode.cs
- HtmlElementErrorEventArgs.cs
- SoapSchemaImporter.cs
- ComponentEditorPage.cs
- KerberosTicketHashIdentifierClause.cs
- GridViewRowPresenter.cs
- Stack.cs
- UIElementParaClient.cs
- ProcessHostServerConfig.cs
- TableLayoutCellPaintEventArgs.cs
- EpmTargetPathSegment.cs
- FixedSOMElement.cs
- ChannelDispatcher.cs
- BreadCrumbTextConverter.cs
- WebException.cs
- Effect.cs
- WebSysDescriptionAttribute.cs
- ByteStream.cs
- NullReferenceException.cs
- PanelStyle.cs
- LayoutManager.cs
- BlurEffect.cs
- SyndicationDeserializer.cs
- ExpandedProjectionNode.cs
- WebHeaderCollection.cs
- SqlReorderer.cs
- CompilerGlobalScopeAttribute.cs
- CompilationUnit.cs
- XPathSingletonIterator.cs
- Size.cs
- ChannelManagerService.cs
- FileDialogPermission.cs
- Int64KeyFrameCollection.cs
- WindowsSpinner.cs
- ToolStripManager.cs
- NavigationService.cs
- CompositeActivityTypeDescriptor.cs
- ConnectionManagementSection.cs
- RequiredFieldValidator.cs
- CustomSignedXml.cs
- ResizeGrip.cs
- CircleEase.cs
- InvokeProviderWrapper.cs
- EFColumnProvider.cs
- CollectionBuilder.cs
- XmlSerializerVersionAttribute.cs
- XsltFunctions.cs
- XmlComment.cs
- Polyline.cs
- SqlHelper.cs
- TrackingSection.cs
- XmlDocumentFragment.cs
- DesignerCategoryAttribute.cs
- TranslateTransform.cs
- EntityDataSourceDataSelection.cs
- sitestring.cs
- SystemIPGlobalStatistics.cs
- RepeaterCommandEventArgs.cs
- UnsafeNativeMethods.cs
- FileSystemWatcher.cs
- DataObjectFieldAttribute.cs
- WebBrowserHelper.cs
- OleDbTransaction.cs
- FlowLayoutPanel.cs
- HostProtectionException.cs
- SqlMethodCallConverter.cs
- WebHeaderCollection.cs
- CommandHelper.cs
- HostVisual.cs
- StoreItemCollection.Loader.cs
- SiblingIterators.cs
- DbProviderFactory.cs
- ControlBuilderAttribute.cs
- DelayDesigner.cs
- RegisteredDisposeScript.cs
- PolyQuadraticBezierSegment.cs
- XamlInt32CollectionSerializer.cs
- XmlParser.cs
- AssemblyFilter.cs
- ObjectDisposedException.cs
- Sql8ExpressionRewriter.cs
- Shape.cs
- FlagPanel.cs
- Parallel.cs
- WebBrowserProgressChangedEventHandler.cs