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
- PolyLineSegment.cs
- HtmlAnchor.cs
- DuplicateContext.cs
- ToolStripItemDataObject.cs
- DataGridViewColumn.cs
- StrongNameKeyPair.cs
- StringBuilder.cs
- ContractNamespaceAttribute.cs
- UidManager.cs
- ToolboxDataAttribute.cs
- ScriptReferenceEventArgs.cs
- HtmlControl.cs
- DocumentPageTextView.cs
- HttpWriter.cs
- MemberHolder.cs
- SafeCertificateContext.cs
- TextDecorationUnitValidation.cs
- MembershipSection.cs
- OleDbInfoMessageEvent.cs
- FillErrorEventArgs.cs
- ObjectHandle.cs
- Guid.cs
- SerializationException.cs
- XmlConvert.cs
- XmlWellformedWriter.cs
- WindowsFont.cs
- SettingsSection.cs
- XmlObjectSerializer.cs
- ReadingWritingEntityEventArgs.cs
- MenuBase.cs
- LogSwitch.cs
- VectorCollection.cs
- ConnectionProviderAttribute.cs
- DataSvcMapFileSerializer.cs
- SecurityHelper.cs
- SafeNativeMethods.cs
- HandoffBehavior.cs
- DataKeyArray.cs
- ConstructorBuilder.cs
- RowsCopiedEventArgs.cs
- WebPartDesigner.cs
- OdbcError.cs
- SmiEventSink_Default.cs
- RegexParser.cs
- DataList.cs
- ClockGroup.cs
- CapiSafeHandles.cs
- GrabHandleGlyph.cs
- ElementsClipboardData.cs
- MarginsConverter.cs
- SchemaConstraints.cs
- BooleanKeyFrameCollection.cs
- DesignerUtility.cs
- TemplateBindingExpression.cs
- Matrix.cs
- QueryContinueDragEvent.cs
- LineSegment.cs
- DecoderBestFitFallback.cs
- DashStyles.cs
- MarkupWriter.cs
- EntityKey.cs
- PersonalizationAdministration.cs
- SqlInternalConnectionSmi.cs
- OleDbErrorCollection.cs
- ResourceSet.cs
- MDIClient.cs
- PassportAuthentication.cs
- tibetanshape.cs
- SortedDictionary.cs
- QilXmlWriter.cs
- Header.cs
- AsymmetricSignatureFormatter.cs
- AsyncDataRequest.cs
- WebPartVerbCollection.cs
- OutputCacheModule.cs
- CacheAxisQuery.cs
- HwndKeyboardInputProvider.cs
- TextBoxBase.cs
- FormView.cs
- SqlTypesSchemaImporter.cs
- PartManifestEntry.cs
- FacetEnabledSchemaElement.cs
- BulletChrome.cs
- SafeSecurityHandles.cs
- RSAOAEPKeyExchangeDeformatter.cs
- RefreshPropertiesAttribute.cs
- KeyboardNavigation.cs
- SqlDelegatedTransaction.cs
- DeflateInput.cs
- DefaultHttpHandler.cs
- ProviderUtil.cs
- LoginAutoFormat.cs
- SmtpSection.cs
- TextDecorationCollection.cs
- ArgumentNullException.cs
- SafeEventLogReadHandle.cs
- ProviderConnectionPoint.cs
- TreeNode.cs
- StylusPlugInCollection.cs
- MetadataArtifactLoaderFile.cs