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
- HandlerBase.cs
- AppDomain.cs
- Crc32Helper.cs
- StringReader.cs
- ProgressiveCrcCalculatingStream.cs
- ToolStripPanelRow.cs
- CalendarButtonAutomationPeer.cs
- _Win32.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ExcCanonicalXml.cs
- XmlSchemaCollection.cs
- SyncMethodInvoker.cs
- ListSortDescriptionCollection.cs
- LineSegment.cs
- ActivityInterfaces.cs
- EventLog.cs
- XmlQueryStaticData.cs
- AttributeCollection.cs
- Unit.cs
- WebMessageEncoderFactory.cs
- PerformanceCounterPermission.cs
- Roles.cs
- WindowsRegion.cs
- Directory.cs
- InternalUserCancelledException.cs
- ExpressionBuilderContext.cs
- StorageMappingItemCollection.cs
- ExtensionQuery.cs
- ToolStripRendererSwitcher.cs
- FontFamilyValueSerializer.cs
- DatatypeImplementation.cs
- XmlILConstructAnalyzer.cs
- EntityProviderFactory.cs
- KeyValuePair.cs
- ActivityBuilder.cs
- RotateTransform3D.cs
- ReadOnlyAttribute.cs
- PerfService.cs
- DispatcherFrame.cs
- XmlEventCache.cs
- WebPartDescriptionCollection.cs
- HttpRequest.cs
- SymmetricAlgorithm.cs
- tibetanshape.cs
- SystemThemeKey.cs
- IpcPort.cs
- AxisAngleRotation3D.cs
- XmlSchemaSimpleContent.cs
- KnownTypes.cs
- InvalidPropValue.cs
- GraphicsContext.cs
- TagNameToTypeMapper.cs
- InvariantComparer.cs
- Material.cs
- ValueExpressions.cs
- SelectorAutomationPeer.cs
- SqlWorkflowPersistenceService.cs
- DataGridViewHeaderCell.cs
- Socket.cs
- GACIdentityPermission.cs
- ColorMap.cs
- LinkButton.cs
- MembershipUser.cs
- HitTestFilterBehavior.cs
- SchemaElementLookUpTable.cs
- Geometry3D.cs
- FileEnumerator.cs
- ScriptBehaviorDescriptor.cs
- DataBindingHandlerAttribute.cs
- QilPatternVisitor.cs
- UnsafeNativeMethods.cs
- RequiredAttributeAttribute.cs
- ClipboardData.cs
- WindowsFormsHostAutomationPeer.cs
- CookieParameter.cs
- LastQueryOperator.cs
- InputLangChangeEvent.cs
- BCryptNative.cs
- NonBatchDirectoryCompiler.cs
- ToolStripRenderer.cs
- Context.cs
- QueryException.cs
- TextBounds.cs
- CodeExporter.cs
- OdbcConnectionOpen.cs
- EFTableProvider.cs
- XmlNode.cs
- XmlILIndex.cs
- DrawListViewSubItemEventArgs.cs
- Int32Collection.cs
- BrowserDefinitionCollection.cs
- ProfessionalColors.cs
- Model3DCollection.cs
- StylusDownEventArgs.cs
- ZoneIdentityPermission.cs
- BinaryKeyIdentifierClause.cs
- WebPartDisplayMode.cs
- XmlAnyElementAttribute.cs
- TypeConverterHelper.cs
- DrawingBrush.cs