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
- WsdlEndpointConversionContext.cs
- SkinBuilder.cs
- SchemaMapping.cs
- Int32EqualityComparer.cs
- IconConverter.cs
- _KerberosClient.cs
- PathSegmentCollection.cs
- SchemaConstraints.cs
- MailWebEventProvider.cs
- StylusPointProperty.cs
- PolicyManager.cs
- XmlSchemaGroupRef.cs
- coordinatorscratchpad.cs
- MatrixCamera.cs
- X509Extension.cs
- TextElement.cs
- IntegrationExceptionEventArgs.cs
- XmlElement.cs
- Model3D.cs
- DesignSurfaceEvent.cs
- EditableLabelControl.cs
- ListInitExpression.cs
- RuleSettingsCollection.cs
- SpoolingTaskBase.cs
- _ListenerAsyncResult.cs
- TreeIterators.cs
- LineServicesRun.cs
- FormatVersion.cs
- BatchServiceHost.cs
- SQLBytesStorage.cs
- SizeF.cs
- BatchParser.cs
- IsolatedStorageFile.cs
- User.cs
- XmlBinaryWriter.cs
- DLinqColumnProvider.cs
- BmpBitmapDecoder.cs
- PersonalizationProviderCollection.cs
- FileLogRecord.cs
- AutoGeneratedField.cs
- FacetDescription.cs
- BuildResult.cs
- XmlDeclaration.cs
- RootBrowserWindowProxy.cs
- FontStretches.cs
- ContextMenuService.cs
- FlowDocument.cs
- SQLDecimalStorage.cs
- CornerRadiusConverter.cs
- ToolboxItem.cs
- RuleConditionDialog.cs
- FontCollection.cs
- TransportBindingElementImporter.cs
- RijndaelManaged.cs
- ClientSponsor.cs
- HMACRIPEMD160.cs
- RequiredAttributeAttribute.cs
- CustomWebEventKey.cs
- SQLInt16.cs
- _SslState.cs
- SparseMemoryStream.cs
- Style.cs
- DBParameter.cs
- StringAnimationBase.cs
- DurableInstanceProvider.cs
- ArraySegment.cs
- WorkflowPageSetupDialog.cs
- XmlILOptimizerVisitor.cs
- XPathAncestorIterator.cs
- BufferAllocator.cs
- EditorZone.cs
- Exception.cs
- SecurityException.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- XmlILConstructAnalyzer.cs
- FullTextLine.cs
- TableLayoutRowStyleCollection.cs
- SecureStringHasher.cs
- StructuralType.cs
- BoolExpressionVisitors.cs
- TextEditorDragDrop.cs
- WindowsStartMenu.cs
- MaskDescriptor.cs
- HTTPAPI_VERSION.cs
- XmlSchemaAnyAttribute.cs
- XmlReturnWriter.cs
- ToolStripContentPanel.cs
- ISCIIEncoding.cs
- CngUIPolicy.cs
- DataServiceKeyAttribute.cs
- IPHostEntry.cs
- MulticastDelegate.cs
- DataGridAutoFormat.cs
- CircleHotSpot.cs
- CuspData.cs
- TryExpression.cs
- BackStopAuthenticationModule.cs
- BitmapEffect.cs
- XmlSchemaCollection.cs
- ArrayList.cs