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
- BaseCollection.cs
- GeneralTransform3DGroup.cs
- CompilerWrapper.cs
- SimpleApplicationHost.cs
- OLEDB_Enum.cs
- PropertyValueChangedEvent.cs
- ConfigXmlCDataSection.cs
- FixedSOMElement.cs
- InputMethodStateChangeEventArgs.cs
- AlternateViewCollection.cs
- DefaultSerializationProviderAttribute.cs
- MetaModel.cs
- Rijndael.cs
- TreeIterator.cs
- ADMembershipUser.cs
- WindowsIdentity.cs
- GenericFlowSwitchHelper.cs
- DropSource.cs
- FileLoadException.cs
- DbModificationClause.cs
- SettingsBase.cs
- SQLInt16Storage.cs
- StrokeDescriptor.cs
- UrlMappingsSection.cs
- TextEditorDragDrop.cs
- TransportElement.cs
- ThreadStaticAttribute.cs
- TextWriterTraceListener.cs
- GuidTagList.cs
- FileIOPermission.cs
- OracleDataReader.cs
- HttpListenerResponse.cs
- HtmlTitle.cs
- SqlRemoveConstantOrderBy.cs
- XmlBinaryReaderSession.cs
- SqlDelegatedTransaction.cs
- shaperfactoryquerycacheentry.cs
- CodeTypeParameter.cs
- SafeWaitHandle.cs
- PaintEvent.cs
- TriggerBase.cs
- PrintPreviewDialog.cs
- IFlowDocumentViewer.cs
- EmptyEnumerator.cs
- TypeDescriptorFilterService.cs
- OracleInternalConnection.cs
- CodeTypeMember.cs
- LostFocusEventManager.cs
- CheckableControlBaseAdapter.cs
- MailBnfHelper.cs
- GraphicsPathIterator.cs
- XmlSchemaObjectCollection.cs
- LineBreakRecord.cs
- WebPartZoneBase.cs
- NamespaceQuery.cs
- XmlSchemaObject.cs
- OraclePermissionAttribute.cs
- XslTransform.cs
- CopyNamespacesAction.cs
- AssemblySettingAttributes.cs
- TypeToArgumentTypeConverter.cs
- DataBindingHandlerAttribute.cs
- LinkedList.cs
- SafeNativeMethods.cs
- OLEDB_Util.cs
- HttpContextWrapper.cs
- DataControlPagerLinkButton.cs
- PostBackOptions.cs
- ToolboxItemAttribute.cs
- UrlMappingCollection.cs
- CompressionTransform.cs
- ChangeProcessor.cs
- SettingsSection.cs
- MailAddressCollection.cs
- RsaKeyGen.cs
- RootBuilder.cs
- LogFlushAsyncResult.cs
- BamlRecordHelper.cs
- LocatorGroup.cs
- ServicePoint.cs
- HideDisabledControlAdapter.cs
- VectorAnimation.cs
- Calendar.cs
- ShaderRenderModeValidation.cs
- RepeaterCommandEventArgs.cs
- ContentIterators.cs
- ReversePositionQuery.cs
- TraceContext.cs
- TemplateEditingFrame.cs
- GB18030Encoding.cs
- PersonalizationProviderHelper.cs
- WindowsListView.cs
- BinHexDecoder.cs
- ImageField.cs
- OperationCanceledException.cs
- ExternalDataExchangeService.cs
- XsltContext.cs
- StringConverter.cs
- HttpRuntime.cs
- EntityStoreSchemaGenerator.cs