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
- BevelBitmapEffect.cs
- ToolBarOverflowPanel.cs
- PackWebRequestFactory.cs
- AudioBase.cs
- TemplatePropertyEntry.cs
- InvokerUtil.cs
- FreeFormDragDropManager.cs
- EntryWrittenEventArgs.cs
- XmlCharacterData.cs
- OdbcEnvironmentHandle.cs
- DesignTimeParseData.cs
- SharedTcpTransportManager.cs
- LinkedResourceCollection.cs
- KeySpline.cs
- Errors.cs
- HtmlInputSubmit.cs
- AccessDataSource.cs
- EdgeProfileValidation.cs
- CryptoKeySecurity.cs
- ProfileModule.cs
- WindowsListViewGroupHelper.cs
- QuerySettings.cs
- IPipelineRuntime.cs
- TypeUnloadedException.cs
- ReferenceEqualityComparer.cs
- DataGridHeaderBorder.cs
- CodeFieldReferenceExpression.cs
- GridViewDeleteEventArgs.cs
- Deflater.cs
- EncryptRequest.cs
- SqlDataAdapter.cs
- NonBatchDirectoryCompiler.cs
- SearchForVirtualItemEventArgs.cs
- TextSelectionProcessor.cs
- SecurityProtocolFactory.cs
- VBIdentifierName.cs
- RSAOAEPKeyExchangeFormatter.cs
- WebPageTraceListener.cs
- ModelFunction.cs
- CodeMethodReturnStatement.cs
- DropShadowEffect.cs
- CodeDelegateCreateExpression.cs
- ExpressionConverter.cs
- MultilineStringConverter.cs
- AvTraceDetails.cs
- linebase.cs
- DataGrid.cs
- TextOnlyOutput.cs
- PictureBoxDesigner.cs
- DesignerOptionService.cs
- StreamBodyWriter.cs
- MemoryMappedViewStream.cs
- XmlTextEncoder.cs
- ListChunk.cs
- SafeUserTokenHandle.cs
- NestedContainer.cs
- Group.cs
- TempFiles.cs
- Item.cs
- DriveNotFoundException.cs
- DeclarationUpdate.cs
- WindowsGraphicsCacheManager.cs
- WebPartTracker.cs
- HtmlToClrEventProxy.cs
- ButtonBase.cs
- DataGridView.cs
- SafeTokenHandle.cs
- GrammarBuilderBase.cs
- FunctionImportElement.cs
- LineVisual.cs
- ThreadAbortException.cs
- Light.cs
- OleDbWrapper.cs
- DetailsViewUpdatedEventArgs.cs
- TreeViewHitTestInfo.cs
- ActivationServices.cs
- WithParamAction.cs
- ContractNamespaceAttribute.cs
- PeerPresenceInfo.cs
- BaseTemplateParser.cs
- DefaultValueTypeConverter.cs
- XmlChoiceIdentifierAttribute.cs
- FigureParagraph.cs
- ASCIIEncoding.cs
- SpecialFolderEnumConverter.cs
- ISAPIApplicationHost.cs
- SessionViewState.cs
- PageEventArgs.cs
- ConfigXmlText.cs
- SimplePropertyEntry.cs
- CurrencyManager.cs
- StrokeNode.cs
- WindowsGrip.cs
- DragDropHelper.cs
- GridViewEditEventArgs.cs
- AvTrace.cs
- sortedlist.cs
- MouseCaptureWithinProperty.cs
- XmlFormatWriterGenerator.cs
- hresults.cs