Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / ContextActivityUtils.cs / 1305376 / ContextActivityUtils.cs
#pragma warning disable 1634, 1691 using System; using System.Globalization; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Collections.ObjectModel; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.IO; using System.Reflection; using System.Text; using System.Threading; using System.Xml; using System.Transactions; using SES = System.EnterpriseServices; using System.Workflow.ComponentModel; using System.Workflow.Runtime.Hosting; namespace System.Workflow.Runtime { #region ContextActivityUtils Class internal static class ContextActivityUtils { internal static int ContextId(Activity activity) { return ((ActivityExecutionContextInfo)ContextActivity(activity).GetValue(Activity.ActivityExecutionContextInfoProperty)).ContextId; } internal static Activity ContextActivity(Activity activity) { Activity contextActivity = activity; while (contextActivity != null && contextActivity.GetValue(Activity.ActivityExecutionContextInfoProperty) == null) contextActivity = contextActivity.Parent; return contextActivity; } internal static Activity ParentContextActivity(Activity activity) { Activity contextActivity = ContextActivity(activity); ActivityExecutionContextInfo executionContextInfo = (ActivityExecutionContextInfo)contextActivity.GetValue(Activity.ActivityExecutionContextInfoProperty); if (executionContextInfo.ParentContextId == -1) return null; return RetrieveWorkflowExecutor(activity).GetContextActivityForId(executionContextInfo.ParentContextId); } internal static IWorkflowCoreRuntime RetrieveWorkflowExecutor(Activity activity) { // fetch workflow executor IWorkflowCoreRuntime workflowExecutor = null; Activity rootActivity = activity; while (rootActivity != null && rootActivity.Parent != null) rootActivity = rootActivity.Parent; if (rootActivity != null) workflowExecutor = (IWorkflowCoreRuntime)rootActivity.GetValue(WorkflowExecutor.WorkflowExecutorProperty); return workflowExecutor; } internal static Activity RootContextActivity(Activity activity) { return RetrieveWorkflowExecutor(activity).RootActivity; } } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. #pragma warning disable 1634, 1691 using System; using System.Globalization; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Collections.ObjectModel; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.IO; using System.Reflection; using System.Text; using System.Threading; using System.Xml; using System.Transactions; using SES = System.EnterpriseServices; using System.Workflow.ComponentModel; using System.Workflow.Runtime.Hosting; namespace System.Workflow.Runtime { #region ContextActivityUtils Class internal static class ContextActivityUtils { internal static int ContextId(Activity activity) { return ((ActivityExecutionContextInfo)ContextActivity(activity).GetValue(Activity.ActivityExecutionContextInfoProperty)).ContextId; } internal static Activity ContextActivity(Activity activity) { Activity contextActivity = activity; while (contextActivity != null && contextActivity.GetValue(Activity.ActivityExecutionContextInfoProperty) == null) contextActivity = contextActivity.Parent; return contextActivity; } internal static Activity ParentContextActivity(Activity activity) { Activity contextActivity = ContextActivity(activity); ActivityExecutionContextInfo executionContextInfo = (ActivityExecutionContextInfo)contextActivity.GetValue(Activity.ActivityExecutionContextInfoProperty); if (executionContextInfo.ParentContextId == -1) return null; return RetrieveWorkflowExecutor(activity).GetContextActivityForId(executionContextInfo.ParentContextId); } internal static IWorkflowCoreRuntime RetrieveWorkflowExecutor(Activity activity) { // fetch workflow executor IWorkflowCoreRuntime workflowExecutor = null; Activity rootActivity = activity; while (rootActivity != null && rootActivity.Parent != null) rootActivity = rootActivity.Parent; if (rootActivity != null) workflowExecutor = (IWorkflowCoreRuntime)rootActivity.GetValue(WorkflowExecutor.WorkflowExecutorProperty); return workflowExecutor; } internal static Activity RootContextActivity(Activity activity) { return RetrieveWorkflowExecutor(activity).RootActivity; } } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ImpersonateTokenRef.cs
- PackageDigitalSignature.cs
- Stackframe.cs
- DeflateStream.cs
- XmlSchemaSubstitutionGroup.cs
- PropertyRef.cs
- IsolationInterop.cs
- TreeViewItem.cs
- RedistVersionInfo.cs
- Simplifier.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SerializationEventsCache.cs
- ReverseComparer.cs
- XmlSchemaValidator.cs
- RSAOAEPKeyExchangeDeformatter.cs
- TypeResolver.cs
- DataServiceClientException.cs
- EncodingDataItem.cs
- Int64Converter.cs
- CategoryState.cs
- MobileControlPersister.cs
- ReadOnlyKeyedCollection.cs
- EditingCommands.cs
- DropShadowBitmapEffect.cs
- TreeNodeBindingCollection.cs
- StickyNoteHelper.cs
- MonthCalendar.cs
- XmlILOptimizerVisitor.cs
- BlurBitmapEffect.cs
- Stylesheet.cs
- EntityConnectionStringBuilder.cs
- DocumentCollection.cs
- SafeCryptoHandles.cs
- RemotingServices.cs
- PropertyEntry.cs
- TreeViewCancelEvent.cs
- RoleServiceManager.cs
- LineServices.cs
- BezierSegment.cs
- EntityWithChangeTrackerStrategy.cs
- SystemException.cs
- SafeUserTokenHandle.cs
- RTLAwareMessageBox.cs
- ExtensionQuery.cs
- CharEnumerator.cs
- WindowsGraphics.cs
- GeneralEndpointIdentity.cs
- MaterialCollection.cs
- XmlSignatureManifest.cs
- ComboBox.cs
- NameValueSectionHandler.cs
- WebConfigurationHostFileChange.cs
- PermissionToken.cs
- DataGridViewSortCompareEventArgs.cs
- AlphabeticalEnumConverter.cs
- XmlnsDictionary.cs
- Win32PrintDialog.cs
- ReadingWritingEntityEventArgs.cs
- InputReferenceExpression.cs
- DataGridDetailsPresenterAutomationPeer.cs
- ImageIndexConverter.cs
- ErrorEventArgs.cs
- DecimalSumAggregationOperator.cs
- EntitySqlException.cs
- RouteItem.cs
- AmbientLight.cs
- UTF7Encoding.cs
- QueryStringParameter.cs
- PropertyDescriptor.cs
- SpeechAudioFormatInfo.cs
- FlowLayoutPanel.cs
- XsdBuildProvider.cs
- SignatureConfirmations.cs
- InputLangChangeEvent.cs
- DataGridViewRowPrePaintEventArgs.cs
- PropertyCollection.cs
- XamlGridLengthSerializer.cs
- EventEntry.cs
- UnionCqlBlock.cs
- GroupBoxRenderer.cs
- AppearanceEditorPart.cs
- NullExtension.cs
- PaintValueEventArgs.cs
- PagesSection.cs
- TcpConnectionPool.cs
- EntityDataSourceContextCreatedEventArgs.cs
- Line.cs
- COSERVERINFO.cs
- ObjectItemConventionAssemblyLoader.cs
- ServiceDeploymentInfo.cs
- ImageConverter.cs
- IdentityValidationException.cs
- PageParser.cs
- FtpWebRequest.cs
- UnsafeNativeMethods.cs
- DataRowExtensions.cs
- XsdValidatingReader.cs
- EdmProviderManifest.cs
- ExpressionList.cs
- DataGridViewBindingCompleteEventArgs.cs