Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / WorkflowEventArgs.cs / 1305376 / WorkflowEventArgs.cs
// **************************************************************************** // Copyright (C) Microsoft Corporation. All rights reserved. // using System; using System.IO; using System.Threading; using System.Diagnostics; using System.Globalization; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Workflow.Runtime; using System.Workflow.ComponentModel; using System.Workflow.Runtime.Hosting; namespace System.Workflow.Runtime { public class WorkflowEventArgs : EventArgs { private WorkflowInstance _instance; internal WorkflowEventArgs(WorkflowInstance instance) { _instance = instance; } public WorkflowInstance WorkflowInstance { get { return _instance; } } } public class WorkflowCompletedEventArgs : WorkflowEventArgs { private Dictionary_outputParameters; private Activity _originalWorkflowDefinition; private Activity _workflowDefinition; internal WorkflowCompletedEventArgs(WorkflowInstance instance, Activity workflowDefinition) : base(instance) { this._outputParameters = new Dictionary (); this._originalWorkflowDefinition = workflowDefinition; this._workflowDefinition = null; } public Dictionary OutputParameters { get { return this._outputParameters; } } public Activity WorkflowDefinition { get { if (this._workflowDefinition == null) { using (new WorkflowDefinitionLock(this._originalWorkflowDefinition)) { if (this._workflowDefinition == null) { // Clone the original definition after locking the // definition's [....] object which was passed in // the constructor. This is so that the host cannot // corrupt the shared definition Activity tempDefinition = this._originalWorkflowDefinition.Clone(); Thread.MemoryBarrier(); this._workflowDefinition = tempDefinition; } } } return this._workflowDefinition; } } } public class WorkflowSuspendedEventArgs : WorkflowEventArgs { private String _error; internal WorkflowSuspendedEventArgs(WorkflowInstance instance, String error) : base(instance) { this._error = error; } public String Error { get { return this._error; } } } public class WorkflowTerminatedEventArgs : WorkflowEventArgs { private Exception exception; internal WorkflowTerminatedEventArgs(WorkflowInstance instance, String error) : base(instance) { this.exception = new WorkflowTerminatedException(error); } internal WorkflowTerminatedEventArgs(WorkflowInstance instance, Exception e) : base(instance) { this.exception = e; } public Exception Exception { get { return this.exception; } } } internal sealed class WorkflowDefinitionEventArgs : EventArgs { private Type _workflowType; private byte[] _xomlHashCode; internal WorkflowDefinitionEventArgs(Type scheduleType) { _workflowType = scheduleType; } internal WorkflowDefinitionEventArgs(byte[] scheduleDefHash) { _xomlHashCode = scheduleDefHash; } public Type WorkflowType { get { return _workflowType; } } public byte[] WorkflowDefinitionHashCode { get { return _xomlHashCode; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. // **************************************************************************** // Copyright (C) Microsoft Corporation. All rights reserved. // using System; using System.IO; using System.Threading; using System.Diagnostics; using System.Globalization; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Workflow.Runtime; using System.Workflow.ComponentModel; using System.Workflow.Runtime.Hosting; namespace System.Workflow.Runtime { public class WorkflowEventArgs : EventArgs { private WorkflowInstance _instance; internal WorkflowEventArgs(WorkflowInstance instance) { _instance = instance; } public WorkflowInstance WorkflowInstance { get { return _instance; } } } public class WorkflowCompletedEventArgs : WorkflowEventArgs { private Dictionary _outputParameters; private Activity _originalWorkflowDefinition; private Activity _workflowDefinition; internal WorkflowCompletedEventArgs(WorkflowInstance instance, Activity workflowDefinition) : base(instance) { this._outputParameters = new Dictionary (); this._originalWorkflowDefinition = workflowDefinition; this._workflowDefinition = null; } public Dictionary OutputParameters { get { return this._outputParameters; } } public Activity WorkflowDefinition { get { if (this._workflowDefinition == null) { using (new WorkflowDefinitionLock(this._originalWorkflowDefinition)) { if (this._workflowDefinition == null) { // Clone the original definition after locking the // definition's [....] object which was passed in // the constructor. This is so that the host cannot // corrupt the shared definition Activity tempDefinition = this._originalWorkflowDefinition.Clone(); Thread.MemoryBarrier(); this._workflowDefinition = tempDefinition; } } } return this._workflowDefinition; } } } public class WorkflowSuspendedEventArgs : WorkflowEventArgs { private String _error; internal WorkflowSuspendedEventArgs(WorkflowInstance instance, String error) : base(instance) { this._error = error; } public String Error { get { return this._error; } } } public class WorkflowTerminatedEventArgs : WorkflowEventArgs { private Exception exception; internal WorkflowTerminatedEventArgs(WorkflowInstance instance, String error) : base(instance) { this.exception = new WorkflowTerminatedException(error); } internal WorkflowTerminatedEventArgs(WorkflowInstance instance, Exception e) : base(instance) { this.exception = e; } public Exception Exception { get { return this.exception; } } } internal sealed class WorkflowDefinitionEventArgs : EventArgs { private Type _workflowType; private byte[] _xomlHashCode; internal WorkflowDefinitionEventArgs(Type scheduleType) { _workflowType = scheduleType; } internal WorkflowDefinitionEventArgs(byte[] scheduleDefHash) { _xomlHashCode = scheduleDefHash; } public Type WorkflowType { get { return _workflowType; } } public byte[] WorkflowDefinitionHashCode { get { return _xomlHashCode; } } } } // 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
- HtmlForm.cs
- WebConvert.cs
- MultiDataTrigger.cs
- DragDrop.cs
- PtsHost.cs
- BufferedStream.cs
- CapacityStreamGeometryContext.cs
- DiscoveryDocumentLinksPattern.cs
- DrawingAttributes.cs
- TableHeaderCell.cs
- RegexRunnerFactory.cs
- JumpItem.cs
- DbConnectionHelper.cs
- DockingAttribute.cs
- loginstatus.cs
- URI.cs
- TCEAdapterGenerator.cs
- HtmlPhoneCallAdapter.cs
- OraclePermissionAttribute.cs
- FormDocumentDesigner.cs
- HTTPNotFoundHandler.cs
- WindowsStatic.cs
- AccessDataSource.cs
- TextDecorationCollectionConverter.cs
- ImageSourceValueSerializer.cs
- SignatureTargetIdManager.cs
- Panel.cs
- HttpCacheVaryByContentEncodings.cs
- SingleConverter.cs
- PersonalizationDictionary.cs
- MultiTrigger.cs
- HistoryEventArgs.cs
- TypeInitializationException.cs
- SqlMetaData.cs
- ColumnWidthChangingEvent.cs
- RichTextBox.cs
- Underline.cs
- XPathPatternParser.cs
- BaseDataListPage.cs
- DescendentsWalker.cs
- ProviderConnectionPoint.cs
- StylusTip.cs
- AudioLevelUpdatedEventArgs.cs
- ConstructorNeedsTagAttribute.cs
- RegisteredDisposeScript.cs
- NCryptSafeHandles.cs
- FlowLayoutPanel.cs
- CodeCommentStatementCollection.cs
- TextChange.cs
- SamlSecurityTokenAuthenticator.cs
- String.cs
- AssertFilter.cs
- XmlWriterTraceListener.cs
- securitycriticaldataformultiplegetandset.cs
- FrameworkElementFactoryMarkupObject.cs
- Int64Converter.cs
- ContainerFilterService.cs
- Adorner.cs
- SystemWebCachingSectionGroup.cs
- SqlRemoveConstantOrderBy.cs
- SqlProviderUtilities.cs
- DebuggerAttributes.cs
- CurrencyManager.cs
- ProviderManager.cs
- StatusBarPanel.cs
- SqlClientMetaDataCollectionNames.cs
- StreamMarshaler.cs
- GraphicsContainer.cs
- FrameworkTemplate.cs
- DoubleStorage.cs
- StringHandle.cs
- ADConnectionHelper.cs
- ExpressionPrinter.cs
- ExpressionContext.cs
- AuthenticationManager.cs
- followingsibling.cs
- shaper.cs
- PolyQuadraticBezierSegment.cs
- XmlNodeList.cs
- WebPartCatalogCloseVerb.cs
- DataGridTableCollection.cs
- DependencyPropertyDescriptor.cs
- StateMachineWorkflowDesigner.cs
- XmlBindingWorker.cs
- GeometryDrawing.cs
- XhtmlBasicPhoneCallAdapter.cs
- VirtualDirectoryMappingCollection.cs
- ReliableOutputSessionChannel.cs
- PageHandlerFactory.cs
- MatrixIndependentAnimationStorage.cs
- HostnameComparisonMode.cs
- FastEncoderStatics.cs
- EventLogPermissionEntry.cs
- ListViewCancelEventArgs.cs
- SqlInternalConnectionSmi.cs
- TerminatorSinks.cs
- SrgsRulesCollection.cs
- ListViewItemSelectionChangedEvent.cs
- TextChange.cs
- QilBinary.cs