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
- TextTreeInsertElementUndoUnit.cs
- NetCodeGroup.cs
- EditingCoordinator.cs
- MenuItemStyle.cs
- Subtree.cs
- SevenBitStream.cs
- MimeTextImporter.cs
- PLINQETWProvider.cs
- commandenforcer.cs
- MessageSecurityOverMsmq.cs
- FormCollection.cs
- RestClientProxyHandler.cs
- SynchronizationLockException.cs
- MaterializeFromAtom.cs
- Lock.cs
- PassportAuthenticationEventArgs.cs
- ArrayListCollectionBase.cs
- entityreference_tresulttype.cs
- SafeFreeMibTable.cs
- ByteArrayHelperWithString.cs
- ViewBase.cs
- ToolStripContextMenu.cs
- StylusLogic.cs
- StringArrayConverter.cs
- FatalException.cs
- PropertyInfoSet.cs
- MouseOverProperty.cs
- Metadata.cs
- InternalsVisibleToAttribute.cs
- AttributedMetaModel.cs
- dataobject.cs
- FactoryGenerator.cs
- Columns.cs
- bindurihelper.cs
- SerialReceived.cs
- DbConnectionPoolCounters.cs
- TypeResolvingOptions.cs
- SqlStream.cs
- Action.cs
- _MultipleConnectAsync.cs
- DigestTraceRecordHelper.cs
- StylusCollection.cs
- XmlCustomFormatter.cs
- KeyInterop.cs
- CompositeCollection.cs
- Rijndael.cs
- SimpleBitVector32.cs
- SvcFileManager.cs
- SelectionBorderGlyph.cs
- SelectionBorderGlyph.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- MetadataCacheItem.cs
- SQlBooleanStorage.cs
- MaskDescriptors.cs
- DataControlButton.cs
- ResourcePermissionBase.cs
- SelectionItemProviderWrapper.cs
- TrustDriver.cs
- ServiceDescriptionSerializer.cs
- StorageModelBuildProvider.cs
- LiteralText.cs
- LocalizeDesigner.cs
- ScriptResourceHandler.cs
- MachineKeyConverter.cs
- ReachPrintTicketSerializer.cs
- CmsUtils.cs
- SqlRowUpdatedEvent.cs
- ResourceDictionary.cs
- SystemIPv4InterfaceProperties.cs
- PackWebRequest.cs
- _ChunkParse.cs
- ApplicationInfo.cs
- DigitShape.cs
- DateTimeUtil.cs
- SecurityKeyIdentifier.cs
- BitmapSource.cs
- PipelineModuleStepContainer.cs
- ViewgenGatekeeper.cs
- DropShadowEffect.cs
- BridgeDataReader.cs
- MutexSecurity.cs
- DateTimeConverter.cs
- MSG.cs
- ProgressBar.cs
- NavigationWindowAutomationPeer.cs
- NamedPipeTransportBindingElement.cs
- DefaultExpression.cs
- ByteFacetDescriptionElement.cs
- DesignerHelpers.cs
- PrimitiveOperationFormatter.cs
- Lease.cs
- Utility.cs
- Transactions.cs
- SynchronizedInputProviderWrapper.cs
- XmlUtil.cs
- TreeNodeClickEventArgs.cs
- InArgument.cs
- TraceContextRecord.cs
- Timer.cs
- SystemIcmpV4Statistics.cs