Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Statements / DefaultConfirmation.cs / 1305376 / DefaultConfirmation.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Statements { using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Runtime; sealed class DefaultConfirmation : NativeActivity { Activity body; VariabletoConfirmToken; CompletionCallback onChildConfirmed; public DefaultConfirmation() : base() { this.toConfirmToken = new Variable (); this.body = new InternalConfirm() { Target = new InArgument (toConfirmToken), }; } public InArgument Target { get; set; } Activity Body { get { return this.body; } } protected override void CacheMetadata(NativeActivityMetadata metadata) { RuntimeArgument targetArgument = new RuntimeArgument("Target", typeof(CompensationToken), ArgumentDirection.In); metadata.Bind(this.Target, targetArgument); metadata.SetArgumentsCollection(new Collection { targetArgument }); metadata.SetImplementationVariablesCollection(new Collection { this.toConfirmToken }); Fx.Assert(this.Body != null, "Body must be valid"); metadata.SetImplementationChildrenCollection(new Collection { this.Body }); } protected override void Execute(NativeActivityContext context) { InternalExecute(context, null); } void InternalExecute(NativeActivityContext context, ActivityInstance completedInstance) { CompensationExtension compensationExtension = context.GetExtension (); if (compensationExtension == null) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.ConfirmWithoutCompensableActivity(this.DisplayName))); } CompensationToken token = Target.Get(context); CompensationTokenData tokenData = token == null ? null : compensationExtension.Get(token.CompensationId); Fx.Assert(tokenData != null, "CompensationTokenData must be valid"); if (tokenData.ExecutionTracker.Count > 0) { if (this.onChildConfirmed == null) { this.onChildConfirmed = new CompletionCallback(InternalExecute); } this.toConfirmToken.Set(context, new CompensationToken(tokenData.ExecutionTracker.Get())); Fx.Assert(Body != null, "Body must be valid"); context.ScheduleActivity(Body, this.onChildConfirmed); } } protected override void Cancel(NativeActivityContext context) { // Suppress Cancel } } } // 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
- InheritanceContextHelper.cs
- Context.cs
- DataTrigger.cs
- SharedPersonalizationStateInfo.cs
- DataMisalignedException.cs
- RoleService.cs
- PrePrepareMethodAttribute.cs
- WebPartEditVerb.cs
- HttpCachePolicy.cs
- ContentPosition.cs
- SQLInt16.cs
- GridViewCommandEventArgs.cs
- IPEndPointCollection.cs
- AssemblyInfo.cs
- LinkUtilities.cs
- EntityContainer.cs
- _NegoStream.cs
- CachedCompositeFamily.cs
- CompositeScriptReferenceEventArgs.cs
- XPathCompileException.cs
- QilInvokeLateBound.cs
- StyleSelector.cs
- GlobalizationAssembly.cs
- ClientSponsor.cs
- DoubleCollectionValueSerializer.cs
- RpcResponse.cs
- DbDataReader.cs
- ControlBuilderAttribute.cs
- MDIClient.cs
- TextBoxRenderer.cs
- ListBoxAutomationPeer.cs
- Aggregates.cs
- SqlCacheDependencySection.cs
- PropertyGridEditorPart.cs
- XsltLoader.cs
- DataGridViewColumnEventArgs.cs
- XsdDuration.cs
- ConnectionsZoneDesigner.cs
- WebPartDescription.cs
- ProfileGroupSettings.cs
- TextSelectionHelper.cs
- PlatformCulture.cs
- ErrorWrapper.cs
- Viewport3DAutomationPeer.cs
- TabControlEvent.cs
- PhysicalAddress.cs
- PolicyStatement.cs
- assertwrapper.cs
- WebPartDisplayModeCancelEventArgs.cs
- StringBuilder.cs
- UIElementPropertyUndoUnit.cs
- VirtualDirectoryMappingCollection.cs
- PeerApplicationLaunchInfo.cs
- LookupBindingPropertiesAttribute.cs
- ServerIdentity.cs
- ListViewItemMouseHoverEvent.cs
- DependencyPropertyValueSerializer.cs
- DataGridViewColumnStateChangedEventArgs.cs
- IDReferencePropertyAttribute.cs
- MessageBox.cs
- FileSystemWatcher.cs
- DataGridDesigner.cs
- BrowserDefinition.cs
- X509ClientCertificateAuthenticationElement.cs
- BindingGraph.cs
- SettingsSavedEventArgs.cs
- HyperlinkAutomationPeer.cs
- ExtendedProtectionPolicy.cs
- DataGridViewToolTip.cs
- TextServicesCompartment.cs
- ChangeBlockUndoRecord.cs
- Emitter.cs
- CodeMemberProperty.cs
- FormViewDeletedEventArgs.cs
- SpecialFolderEnumConverter.cs
- ObjectDataProvider.cs
- MenuItem.cs
- ZeroOpNode.cs
- ColumnTypeConverter.cs
- File.cs
- MonthChangedEventArgs.cs
- TemplateColumn.cs
- ObjectFullSpanRewriter.cs
- ConnectionConsumerAttribute.cs
- CmsInterop.cs
- RenderDataDrawingContext.cs
- COM2PropertyBuilderUITypeEditor.cs
- CodeExpressionStatement.cs
- WebBrowserNavigatedEventHandler.cs
- HostProtectionException.cs
- OrderedDictionary.cs
- XmlWriter.cs
- ListViewItem.cs
- ByteRangeDownloader.cs
- DiscoveryClientChannelFactory.cs
- SymmetricAlgorithm.cs
- WebFaultException.cs
- selecteditemcollection.cs
- CustomAttribute.cs
- UrlMapping.cs