Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Runtime / BookmarkWorkItem.cs / 1305376 / BookmarkWorkItem.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Runtime { using System; using System.Activities.Hosting; using System.Runtime; using System.Runtime.Serialization; [DataContract] class BookmarkWorkItem : ActivityExecutionWorkItem { [DataMember] BookmarkCallbackWrapper callbackWrapper; [DataMember] Bookmark bookmark; [DataMember(EmitDefaultValue = false)] object state; public BookmarkWorkItem(ActivityExecutor executor, bool isExternal, BookmarkCallbackWrapper callbackWrapper, Bookmark bookmark, object value) : this(callbackWrapper, bookmark, value) { if (isExternal) { executor.EnterNoPersist(); this.ExitNoPersistRequired = true; } } // This ctor is only used by subclasses which make their own determination about no persist or not protected BookmarkWorkItem(BookmarkCallbackWrapper callbackWrapper, Bookmark bookmark, object value) : base(callbackWrapper.ActivityInstance) { this.callbackWrapper = callbackWrapper; this.bookmark = bookmark; this.state = value; } public override void TraceCompleted() { if (TD.CompleteBookmarkWorkItemIsEnabled()) { TD.CompleteBookmarkWorkItem(this.ActivityInstance.Activity.GetType().ToString(), this.ActivityInstance.Activity.DisplayName, this.ActivityInstance.Id, ActivityUtilities.GetTraceString(this.bookmark), ActivityUtilities.GetTraceString(this.bookmark.Scope)); } } public override void TraceScheduled() { if (TD.ScheduleBookmarkWorkItemIsEnabled()) { TD.ScheduleBookmarkWorkItem(this.ActivityInstance.Activity.GetType().ToString(), this.ActivityInstance.Activity.DisplayName, this.ActivityInstance.Id, ActivityUtilities.GetTraceString(this.bookmark), ActivityUtilities.GetTraceString(this.bookmark.Scope)); } } public override void TraceStarting() { if (TD.StartBookmarkWorkItemIsEnabled()) { TD.StartBookmarkWorkItem(this.ActivityInstance.Activity.GetType().ToString(), this.ActivityInstance.Activity.DisplayName, this.ActivityInstance.Id, ActivityUtilities.GetTraceString(this.bookmark), ActivityUtilities.GetTraceString(this.bookmark.Scope)); } } public override bool Execute(ActivityExecutor executor, BookmarkManager bookmarkManager) { NativeActivityContext nativeContext = executor.NativeActivityContextPool.Acquire(); try { nativeContext.Initialize(this.ActivityInstance, executor, bookmarkManager); this.callbackWrapper.Invoke(nativeContext, this.bookmark, this.state); } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } this.ExceptionToPropagate = e; } finally { nativeContext.Dispose(); executor.NativeActivityContextPool.Release(nativeContext); } return true; } } } // 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
- ImageListImage.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- XmlText.cs
- CollectionViewGroupInternal.cs
- StringArrayConverter.cs
- WorkflowServiceAttributes.cs
- BrowserCapabilitiesFactory35.cs
- RotationValidation.cs
- XmlDataCollection.cs
- DataTemplateKey.cs
- PropertyMetadata.cs
- ExpressionStringBuilder.cs
- SelectionProcessor.cs
- RootAction.cs
- SqlXmlStorage.cs
- NameObjectCollectionBase.cs
- IntPtr.cs
- PointValueSerializer.cs
- ProfileInfo.cs
- DateTimeConstantAttribute.cs
- HttpsHostedTransportConfiguration.cs
- Int64AnimationBase.cs
- ElapsedEventArgs.cs
- DocumentAutomationPeer.cs
- TextEditorParagraphs.cs
- SessionEndingCancelEventArgs.cs
- BamlMapTable.cs
- InvokeWebService.cs
- ZipIOExtraFieldElement.cs
- Model3DGroup.cs
- BaseDataListDesigner.cs
- PageCache.cs
- PointHitTestParameters.cs
- WebControl.cs
- CFGGrammar.cs
- HashCodeCombiner.cs
- Publisher.cs
- Vector.cs
- RawStylusInputCustomDataList.cs
- PageCatalogPart.cs
- DocumentOrderQuery.cs
- MenuItemStyleCollection.cs
- EnumMember.cs
- NativeMethods.cs
- DebugInfo.cs
- UriTemplatePathSegment.cs
- Command.cs
- CommandID.cs
- HealthMonitoringSection.cs
- ExpressionCopier.cs
- DataRelationPropertyDescriptor.cs
- CopyOfAction.cs
- StaticResourceExtension.cs
- FormClosedEvent.cs
- GraphicsPath.cs
- ApplicationServicesHostFactory.cs
- HMACSHA1.cs
- ExceptionNotification.cs
- StringResourceManager.cs
- SharedStatics.cs
- MetadataUtil.cs
- SqlBuilder.cs
- BuildProvidersCompiler.cs
- CodeDelegateCreateExpression.cs
- OdbcTransaction.cs
- XPathScanner.cs
- BaseTypeViewSchema.cs
- UnsettableComboBox.cs
- DesignerInterfaces.cs
- HttpCacheParams.cs
- BaseAsyncResult.cs
- ComponentChangedEvent.cs
- ViewStateException.cs
- LOSFormatter.cs
- DbConnectionInternal.cs
- IdSpace.cs
- UnsafeNativeMethods.cs
- WebBrowserSiteBase.cs
- ParserExtension.cs
- DependencyPropertyHelper.cs
- State.cs
- FileRecordSequenceHelper.cs
- DataFieldEditor.cs
- FreezableDefaultValueFactory.cs
- DataColumnChangeEvent.cs
- XmlAttributeProperties.cs
- RuntimeConfigLKG.cs
- ClockController.cs
- SystemResourceHost.cs
- AnonymousIdentificationModule.cs
- MetadataArtifactLoader.cs
- InfoCardBaseException.cs
- DrawingBrush.cs
- XmlDataImplementation.cs
- URI.cs
- MetadataWorkspace.cs
- XmlSchemaObject.cs
- SHA1CryptoServiceProvider.cs
- Run.cs
- SchemaHelper.cs