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
- TextTreeTextElementNode.cs
- HttpsTransportBindingElement.cs
- UnrecognizedPolicyAssertionElement.cs
- ListItemViewAttribute.cs
- X509Chain.cs
- DrawingCollection.cs
- ContainerFilterService.cs
- DataGridViewRowCancelEventArgs.cs
- LinqMaximalSubtreeNominator.cs
- WinFormsSpinner.cs
- MatrixTransform.cs
- MaterialGroup.cs
- AssertSection.cs
- TextElement.cs
- ComponentEditorPage.cs
- XmlToDatasetMap.cs
- TransformDescriptor.cs
- Attributes.cs
- DataGridViewToolTip.cs
- StringDictionary.cs
- BindingFormattingDialog.cs
- DbSetClause.cs
- DropDownButton.cs
- InternalCompensate.cs
- GridView.cs
- BuilderPropertyEntry.cs
- ApplicationDirectory.cs
- WindowsFormsSectionHandler.cs
- ValidatingReaderNodeData.cs
- AutomationPropertyInfo.cs
- PostBackOptions.cs
- BitmapEffect.cs
- CheckBoxFlatAdapter.cs
- FontSource.cs
- CryptoConfig.cs
- PropertyPushdownHelper.cs
- DynamicMethod.cs
- EntityCollection.cs
- Tokenizer.cs
- ErrorEventArgs.cs
- EntityCollection.cs
- _SingleItemRequestCache.cs
- AttributeCollection.cs
- WebRequestModuleElementCollection.cs
- DataGridViewCellConverter.cs
- WorkBatch.cs
- ContactManager.cs
- PageCodeDomTreeGenerator.cs
- TrackingDataItem.cs
- EntityDataSourceValidationException.cs
- DataBindingExpressionBuilder.cs
- LoginCancelEventArgs.cs
- recordstatescratchpad.cs
- DbConnectionPool.cs
- DataGridViewCheckBoxColumn.cs
- MouseActionValueSerializer.cs
- BasicExpandProvider.cs
- PageThemeCodeDomTreeGenerator.cs
- HashCodeCombiner.cs
- NamespaceDecl.cs
- NoResizeSelectionBorderGlyph.cs
- PlacementWorkspace.cs
- XPathCompileException.cs
- DelegateHelpers.cs
- ProviderUtil.cs
- XmlILIndex.cs
- GroupQuery.cs
- MediaPlayer.cs
- ProfilePropertyMetadata.cs
- QilInvokeLateBound.cs
- XmlUtilWriter.cs
- CancellationState.cs
- UserControl.cs
- WebPartCloseVerb.cs
- EventLogConfiguration.cs
- Style.cs
- ReferencedAssembly.cs
- Point3DCollectionConverter.cs
- TimelineCollection.cs
- FixUpCollection.cs
- PenLineJoinValidation.cs
- TaiwanLunisolarCalendar.cs
- ListBoxAutomationPeer.cs
- TextControl.cs
- _SecureChannel.cs
- TranslateTransform.cs
- ServiceDescriptionImporter.cs
- HtmlInputImage.cs
- SqlSelectStatement.cs
- WpfKnownType.cs
- SByte.cs
- GeneratedView.cs
- PathSegment.cs
- ObjectCloneHelper.cs
- Camera.cs
- ValidateNames.cs
- EntityDataSourceEntitySetNameItem.cs
- MenuItemCollection.cs
- XmlWrappingReader.cs
- Encoding.cs