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
- BufferedGraphics.cs
- OleDbDataAdapter.cs
- ToolStripRendererSwitcher.cs
- HMACSHA256.cs
- wpf-etw.cs
- StreamWriter.cs
- PolicyStatement.cs
- TypeDescriptionProvider.cs
- CustomActivityDesigner.cs
- TransformCollection.cs
- RangeBase.cs
- FormatConvertedBitmap.cs
- StyleBamlRecordReader.cs
- ExpandableObjectConverter.cs
- FileNotFoundException.cs
- CodePrimitiveExpression.cs
- XmlWellformedWriter.cs
- KeyMatchBuilder.cs
- WsrmTraceRecord.cs
- NameScopePropertyAttribute.cs
- ChangeDirector.cs
- SessionMode.cs
- SafeFindHandle.cs
- TrackBarDesigner.cs
- ArithmeticException.cs
- MembershipPasswordException.cs
- cache.cs
- OutgoingWebRequestContext.cs
- IconBitmapDecoder.cs
- JoinElimination.cs
- CursorConverter.cs
- TypeInitializationException.cs
- RuleSetDialog.cs
- DataGridView.cs
- _DigestClient.cs
- FileDataSource.cs
- SemanticKeyElement.cs
- FontWeights.cs
- RenameRuleObjectDialog.cs
- SessionStateSection.cs
- FrameworkRichTextComposition.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- TreeView.cs
- CellParaClient.cs
- GridViewRowEventArgs.cs
- NumberFormatInfo.cs
- ClientSettingsProvider.cs
- InstanceDescriptor.cs
- QilStrConcatenator.cs
- AsymmetricSignatureDeformatter.cs
- SystemWebCachingSectionGroup.cs
- DataExpression.cs
- SqlClientWrapperSmiStream.cs
- ItemType.cs
- MdbDataFileEditor.cs
- SelectionEditingBehavior.cs
- BulletedList.cs
- ThemeDirectoryCompiler.cs
- CodeParameterDeclarationExpression.cs
- MLangCodePageEncoding.cs
- BinaryWriter.cs
- FixedTextContainer.cs
- EllipticalNodeOperations.cs
- TableAdapterManagerMethodGenerator.cs
- TypeUtil.cs
- AuthenticationServiceManager.cs
- TrustManagerPromptUI.cs
- CalendarButton.cs
- OracleColumn.cs
- CompositeActivityTypeDescriptorProvider.cs
- SystemDiagnosticsSection.cs
- Automation.cs
- StaticContext.cs
- ModelToObjectValueConverter.cs
- ViewGenerator.cs
- ManagedFilter.cs
- CoTaskMemHandle.cs
- ObjectDataSourceFilteringEventArgs.cs
- RoutedCommand.cs
- MenuItem.cs
- WebException.cs
- RepeaterItemEventArgs.cs
- AutoCompleteStringCollection.cs
- TypeFieldSchema.cs
- ViewPort3D.cs
- VersionConverter.cs
- User.cs
- HighContrastHelper.cs
- ScriptModule.cs
- VirtualPathUtility.cs
- DocumentViewerBaseAutomationPeer.cs
- EndOfStreamException.cs
- CodeTypeParameterCollection.cs
- ComplexTypeEmitter.cs
- GenericWebPart.cs
- TextSelectionHelper.cs
- XamlTemplateSerializer.cs
- XmlSchemaValidationException.cs
- XmlSchemaAll.cs
- BinarySerializer.cs