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
- MatrixStack.cs
- XmlQualifiedName.cs
- BindingBase.cs
- AppSettings.cs
- ResourceIDHelper.cs
- MemberBinding.cs
- TransportBindingElement.cs
- TransferRequestHandler.cs
- AssemblyUtil.cs
- KeyValueConfigurationCollection.cs
- CalendarDesigner.cs
- XmlSchemaSet.cs
- ObjectViewFactory.cs
- UmAlQuraCalendar.cs
- SatelliteContractVersionAttribute.cs
- AsymmetricSignatureFormatter.cs
- SoapUnknownHeader.cs
- UserCancellationException.cs
- XXXOnTypeBuilderInstantiation.cs
- NegotiationTokenAuthenticator.cs
- ConfigPathUtility.cs
- DuplexClientBase.cs
- AnnouncementInnerClientCD1.cs
- TextEndOfParagraph.cs
- PerspectiveCamera.cs
- FilterQuery.cs
- EntityConnectionStringBuilderItem.cs
- LassoHelper.cs
- COM2IDispatchConverter.cs
- Nullable.cs
- CellLabel.cs
- IntAverageAggregationOperator.cs
- EdmToObjectNamespaceMap.cs
- PrintPreviewControl.cs
- SqlDuplicator.cs
- CodeSnippetCompileUnit.cs
- RectKeyFrameCollection.cs
- EntityDataSourceViewSchema.cs
- KeyEvent.cs
- SystemIPInterfaceProperties.cs
- UnsafeNativeMethods.cs
- ListViewTableCell.cs
- BlurBitmapEffect.cs
- CodeNamespaceImportCollection.cs
- PresentationAppDomainManager.cs
- FixedTextPointer.cs
- CLSCompliantAttribute.cs
- DataGridViewButtonColumn.cs
- FixedSOMElement.cs
- CallSiteHelpers.cs
- Span.cs
- InstalledFontCollection.cs
- GradientStop.cs
- DragEventArgs.cs
- WhitespaceRuleReader.cs
- TemplateBuilder.cs
- ValueType.cs
- ServiceAppDomainAssociationProvider.cs
- ImageMapEventArgs.cs
- PersonalizableTypeEntry.cs
- _emptywebproxy.cs
- PreloadedPackages.cs
- PeerHopCountAttribute.cs
- AssemblyResourceLoader.cs
- CompiledAction.cs
- HttpDigestClientCredential.cs
- SaveFileDialog.cs
- XmlAttributeProperties.cs
- RuntimeConfig.cs
- Freezable.cs
- HwndSourceKeyboardInputSite.cs
- XmlSchemaDatatype.cs
- DataException.cs
- ListViewItem.cs
- UpdateDelegates.Generated.cs
- SystemColorTracker.cs
- safex509handles.cs
- JsonDeserializer.cs
- StringArrayConverter.cs
- CustomCredentialPolicy.cs
- ToolStripRendererSwitcher.cs
- UnmanagedMemoryStream.cs
- Soap.cs
- SafeNativeMethods.cs
- LinqDataSourceInsertEventArgs.cs
- BrowserCapabilitiesCodeGenerator.cs
- ControlCodeDomSerializer.cs
- KnownTypeAttribute.cs
- CssClassPropertyAttribute.cs
- ClientConfigurationSystem.cs
- RelationshipManager.cs
- ContainerUtilities.cs
- NamedObject.cs
- DbParameterCollection.cs
- WebPartVerb.cs
- PictureBoxDesigner.cs
- HtmlTable.cs
- QuotaExceededException.cs
- _ContextAwareResult.cs
- PlainXmlDeserializer.cs