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
- BackgroundFormatInfo.cs
- InputProcessorProfiles.cs
- EventLogPermission.cs
- COM2PictureConverter.cs
- ToolStripSettings.cs
- AssociationSetMetadata.cs
- EntityDataSourceChangingEventArgs.cs
- ParameterEditorUserControl.cs
- SqlFileStream.cs
- WmlCalendarAdapter.cs
- DiffuseMaterial.cs
- SingleSelectRootGridEntry.cs
- RoutedCommand.cs
- Calendar.cs
- HashAlgorithm.cs
- Dynamic.cs
- MimeImporter.cs
- SvcMapFile.cs
- SqlGatherConsumedAliases.cs
- GenericUriParser.cs
- BitmapInitialize.cs
- XPathConvert.cs
- TreeViewEvent.cs
- HttpApplicationStateBase.cs
- NestPullup.cs
- WebPartZoneCollection.cs
- PageVisual.cs
- ChangePassword.cs
- GeometryDrawing.cs
- IsolatedStoragePermission.cs
- ContractCodeDomInfo.cs
- DesignerCapabilities.cs
- HtmlInputFile.cs
- TextTreePropertyUndoUnit.cs
- ParameterCollection.cs
- RenderDataDrawingContext.cs
- MouseEventArgs.cs
- RectValueSerializer.cs
- RoleExceptions.cs
- _BaseOverlappedAsyncResult.cs
- SqlClientPermission.cs
- NullableFloatAverageAggregationOperator.cs
- VisualStates.cs
- ResolveCriteriaApril2005.cs
- PathFigure.cs
- UnsafeNativeMethods.cs
- CodeCatchClause.cs
- OpacityConverter.cs
- RichTextBox.cs
- DataSourceView.cs
- ButtonFieldBase.cs
- LocalizableResourceBuilder.cs
- Content.cs
- AggregatePushdown.cs
- SafeLibraryHandle.cs
- EmptyReadOnlyDictionaryInternal.cs
- BoundsDrawingContextWalker.cs
- SqlDataSource.cs
- TimeSpanStorage.cs
- DeferredTextReference.cs
- SymbolTable.cs
- CodeDelegateInvokeExpression.cs
- ObjectStateEntryDbDataRecord.cs
- StringArrayConverter.cs
- SecurityException.cs
- CodeVariableDeclarationStatement.cs
- ObjectParameter.cs
- RowBinding.cs
- DrawingDrawingContext.cs
- SoapElementAttribute.cs
- DirtyTextRange.cs
- CalendarDay.cs
- MemberPath.cs
- ParallelTimeline.cs
- DesignTimeTemplateParser.cs
- ParameterCollection.cs
- CompilerTypeWithParams.cs
- KeyInstance.cs
- XslAst.cs
- MappingSource.cs
- SafeFileMappingHandle.cs
- KnownColorTable.cs
- RtfToXamlReader.cs
- WebPageTraceListener.cs
- CryptographicAttribute.cs
- LayoutExceptionEventArgs.cs
- _TLSstream.cs
- HexParser.cs
- KeyEvent.cs
- Timeline.cs
- Transform3DCollection.cs
- ReadOnlyObservableCollection.cs
- ellipse.cs
- TextSchema.cs
- WinFormsUtils.cs
- IItemContainerGenerator.cs
- AlphabetConverter.cs
- FixedPageStructure.cs
- DataGridRow.cs
- UnsignedPublishLicense.cs