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
- ObjectDataProvider.cs
- HandlerMappingMemo.cs
- SessionEndedEventArgs.cs
- XslUrlEditor.cs
- EntityWithChangeTrackerStrategy.cs
- MethodBuilderInstantiation.cs
- InvalidDataContractException.cs
- Style.cs
- DecoderFallbackWithFailureFlag.cs
- TableCell.cs
- PropertyCollection.cs
- SecurityState.cs
- WebBrowser.cs
- GroupStyle.cs
- XmlSubtreeReader.cs
- baseaxisquery.cs
- GroupBoxRenderer.cs
- CommandSet.cs
- RecordsAffectedEventArgs.cs
- XsltContext.cs
- UnsafeNativeMethods.cs
- SqlConnectionHelper.cs
- CellPartitioner.cs
- CallbackTimeoutsBehavior.cs
- IOException.cs
- ConsoleTraceListener.cs
- ListItemConverter.cs
- ConfigXmlCDataSection.cs
- MinimizableAttributeTypeConverter.cs
- OleAutBinder.cs
- UIElement3DAutomationPeer.cs
- NodeLabelEditEvent.cs
- EventSinkActivityDesigner.cs
- PageVisual.cs
- NGCSerializerAsync.cs
- Subset.cs
- LayoutInformation.cs
- UriSection.cs
- AsymmetricKeyExchangeFormatter.cs
- ScriptingRoleServiceSection.cs
- XpsLiterals.cs
- Equal.cs
- CompositeCollection.cs
- WebBrowserNavigatedEventHandler.cs
- ErrorWrapper.cs
- XmlRawWriterWrapper.cs
- CacheChildrenQuery.cs
- FrameAutomationPeer.cs
- HelpInfo.cs
- MobileUserControlDesigner.cs
- BroadcastEventHelper.cs
- TcpHostedTransportConfiguration.cs
- UserUseLicenseDictionaryLoader.cs
- HttpClientChannel.cs
- FlowDocumentView.cs
- TableHeaderCell.cs
- BeginEvent.cs
- TreeBuilder.cs
- OrthographicCamera.cs
- CompilationSection.cs
- SemanticResolver.cs
- DataMemberAttribute.cs
- SortDescriptionCollection.cs
- MatrixTransform.cs
- ObjectViewQueryResultData.cs
- EditableRegion.cs
- VersionUtil.cs
- CodeArrayIndexerExpression.cs
- WebPartConnectionsConnectVerb.cs
- FileRegion.cs
- AsmxEndpointPickerExtension.cs
- Button.cs
- MonitorWrapper.cs
- HebrewNumber.cs
- Matrix3DConverter.cs
- GlyphRunDrawing.cs
- SystemColors.cs
- Inline.cs
- BitHelper.cs
- PassportPrincipal.cs
- DomainUpDown.cs
- Sql8ConformanceChecker.cs
- ContentPresenter.cs
- DataSetUtil.cs
- PathFigureCollectionValueSerializer.cs
- Peer.cs
- Pen.cs
- BooleanExpr.cs
- RadioButtonAutomationPeer.cs
- QueryStringParameter.cs
- ComMethodElement.cs
- DataList.cs
- Style.cs
- Win32PrintDialog.cs
- Attributes.cs
- CatalogZoneBase.cs
- HtmlForm.cs
- SafeNativeMethods.cs
- Pair.cs
- NamespaceList.cs