Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / AsyncInvokeOperation.cs / 1305376 / AsyncInvokeOperation.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System.Xml; using System.Collections.Generic; using System.Threading; using System.Runtime; class AsyncInvokeOperation { object thisLock; public AsyncInvokeOperation(SynchronizationContext syncContext) { Fx.Assert(syncContext != null, "syncContext cannot be null"); this.SyncContext = syncContext; thisLock = new object(); } SynchronizationContext SyncContext { get; set; } bool Completed { get; set; } public void OperationStarted() { this.SyncContext.OperationStarted(); } public void OperationCompleted() { lock (thisLock) { Fx.AssertAndThrowFatal(!this.Completed, "Async operation has already been completed"); this.Completed = true; } this.SyncContext.OperationCompleted(); } public void PostOperationCompleted(SendOrPostCallback callback, object arg) { lock (thisLock) { Fx.AssertAndThrowFatal(!this.Completed, "Async operation has already been completed"); this.Completed = true; } Fx.Assert(callback != null, "callback cannot be null"); this.SyncContext.Post(callback, arg); this.SyncContext.OperationCompleted(); } } } // 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
- x509store.cs
- CodeIdentifier.cs
- DateTime.cs
- AssemblyCollection.cs
- FileDialogCustomPlaces.cs
- Encoding.cs
- ListViewHitTestInfo.cs
- LinqDataSourceValidationException.cs
- ErrorRuntimeConfig.cs
- DetailsViewDeleteEventArgs.cs
- Image.cs
- DbDataReader.cs
- ScriptingWebServicesSectionGroup.cs
- OpCellTreeNode.cs
- BaseTemplateParser.cs
- CookieHandler.cs
- WindowsScroll.cs
- ContainsSearchOperator.cs
- RestClientProxyHandler.cs
- PlatformNotSupportedException.cs
- ToolBarOverflowPanel.cs
- ObjectDataSourceFilteringEventArgs.cs
- DashStyle.cs
- SectionVisual.cs
- InvokeHandlers.cs
- AuthorizationSection.cs
- Double.cs
- PersistenceTypeAttribute.cs
- OperatingSystem.cs
- EventWaitHandleSecurity.cs
- PersistChildrenAttribute.cs
- ResourceReferenceKeyNotFoundException.cs
- IndexObject.cs
- MulticastNotSupportedException.cs
- SystemInformation.cs
- TcpChannelFactory.cs
- ConnectionManagementElement.cs
- ScriptHandlerFactory.cs
- SafeCryptContextHandle.cs
- SourceLocationProvider.cs
- SynchronousChannelMergeEnumerator.cs
- TailCallAnalyzer.cs
- DateTimeUtil.cs
- ConnectionPoint.cs
- OpenFileDialog.cs
- DataError.cs
- ICollection.cs
- ProviderCommandInfoUtils.cs
- ChainOfResponsibility.cs
- EventToken.cs
- ZipIORawDataFileBlock.cs
- ExclusiveTcpListener.cs
- MutexSecurity.cs
- DataGridPageChangedEventArgs.cs
- RequiredAttributeAttribute.cs
- UICuesEvent.cs
- DataStorage.cs
- HyperLink.cs
- Registry.cs
- MorphHelper.cs
- Attributes.cs
- NetworkInterface.cs
- DataViewListener.cs
- SHA384Managed.cs
- EmptyStringExpandableObjectConverter.cs
- OdbcReferenceCollection.cs
- BackgroundWorker.cs
- XamlSerializerUtil.cs
- PagesSection.cs
- LinkLabelLinkClickedEvent.cs
- HttpContextServiceHost.cs
- XsltInput.cs
- EventManager.cs
- TextRunTypographyProperties.cs
- XmlCharacterData.cs
- WebPartConnectionsCloseVerb.cs
- PrintingPermission.cs
- PathFigure.cs
- CodeStatementCollection.cs
- GeneralTransform2DTo3D.cs
- CharacterBufferReference.cs
- OdbcInfoMessageEvent.cs
- SiteMapNodeCollection.cs
- ResourcePool.cs
- TabControlEvent.cs
- IdentifierCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ListViewDeletedEventArgs.cs
- ResourceReader.cs
- MessageSmuggler.cs
- WebPartConnectVerb.cs
- ParserHooks.cs
- MetaModel.cs
- Decorator.cs
- SessionEndingCancelEventArgs.cs
- XhtmlBasicPhoneCallAdapter.cs
- TranslateTransform3D.cs
- XPathChildIterator.cs
- BmpBitmapEncoder.cs
- ColorConverter.cs