Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Statements / TerminateWorkflow.cs / 1305376 / TerminateWorkflow.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Statements { using System; using System.Activities; using System.ComponentModel; using System.Collections.ObjectModel; public sealed class TerminateWorkflow : NativeActivity { public TerminateWorkflow() { } [DefaultValue(null)] public InArgumentReason { get; set; } [DefaultValue(null)] public InArgument Exception { get; set; } protected override void CacheMetadata(NativeActivityMetadata metadata) { Collection arguments = new Collection (); RuntimeArgument reasonArgument = new RuntimeArgument("Reason", typeof(string), ArgumentDirection.In, false); metadata.Bind(this.Reason, reasonArgument); RuntimeArgument exceptionArgument = new RuntimeArgument("Exception", typeof(Exception), ArgumentDirection.In, false); metadata.Bind(this.Exception, exceptionArgument); arguments.Add(reasonArgument); arguments.Add(exceptionArgument); metadata.SetArgumentsCollection(arguments); if((this.Reason == null || this.Reason.IsEmpty) && (this.Exception == null || this.Exception.IsEmpty)) { metadata.AddValidationError(SR.OneOfTwoPropertiesMustBeSet("Reason", "Exception", "TerminateWorkflow", this.DisplayName)); } } protected override void Execute(NativeActivityContext context) { // If Reason is provided, we'll create a WorkflowApplicationTerminatedException from // it, wrapping Exception if it is also provided. Otherwise just use Exception. // If neither is provided just throw a new WorkflowTerminatedException. string reason = Reason.Get(context); Exception exception = Exception.Get(context); if (!string.IsNullOrEmpty(reason)) { context.Terminate(new WorkflowTerminatedException(reason, exception)); } else if(exception != null) { context.Terminate(exception); } else { context.Terminate(new WorkflowTerminatedException()); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeParameterDeclarationExpression.cs
- NumericUpDownAccelerationCollection.cs
- ScriptingProfileServiceSection.cs
- ZoneIdentityPermission.cs
- Bold.cs
- ExecutionContext.cs
- ThemeDirectoryCompiler.cs
- ByteStreamMessageEncoder.cs
- HttpBindingExtension.cs
- SqlNotificationEventArgs.cs
- ResourcePermissionBaseEntry.cs
- DataTable.cs
- RewritingPass.cs
- ConfigurationSchemaErrors.cs
- ButtonPopupAdapter.cs
- altserialization.cs
- ASCIIEncoding.cs
- NonNullItemCollection.cs
- DeviceSpecificChoiceCollection.cs
- Padding.cs
- StylusPointDescription.cs
- CompiledAction.cs
- SecurityState.cs
- DbConnectionPoolIdentity.cs
- BaseDataBoundControlDesigner.cs
- HostProtectionException.cs
- NoPersistScope.cs
- EasingKeyFrames.cs
- TextTreeObjectNode.cs
- UriParserTemplates.cs
- OSFeature.cs
- FreeFormDesigner.cs
- PermissionSetEnumerator.cs
- Odbc32.cs
- SR.cs
- TypeConverter.cs
- SiteMap.cs
- LiteralControl.cs
- GridViewRowCollection.cs
- ParseChildrenAsPropertiesAttribute.cs
- SQLRoleProvider.cs
- TemplateContentLoader.cs
- ProcessModule.cs
- FormViewDeletedEventArgs.cs
- PipeSecurity.cs
- pingexception.cs
- DataExpression.cs
- TextDecoration.cs
- PanningMessageFilter.cs
- DesignerActionListCollection.cs
- DataGridAutoFormatDialog.cs
- SHA384.cs
- Attribute.cs
- MenuItemStyleCollection.cs
- util.cs
- CompositeDataBoundControl.cs
- PassportAuthenticationModule.cs
- SubtreeProcessor.cs
- XmlNamespaceManager.cs
- HealthMonitoringSectionHelper.cs
- ContainsRowNumberChecker.cs
- InkCanvasInnerCanvas.cs
- GlyphsSerializer.cs
- XmlNamespaceMappingCollection.cs
- CodeSubDirectoriesCollection.cs
- HebrewNumber.cs
- CompoundFileReference.cs
- HighlightVisual.cs
- Events.cs
- CodeDomDecompiler.cs
- WebProxyScriptElement.cs
- DataGridViewToolTip.cs
- WorkflowElementDialog.cs
- Int16KeyFrameCollection.cs
- ControlBuilder.cs
- BulletedList.cs
- ChildTable.cs
- DesignTimeHTMLTextWriter.cs
- SystemWebCachingSectionGroup.cs
- DetailsViewDeleteEventArgs.cs
- Rect3D.cs
- RegistrySecurity.cs
- LowerCaseStringConverter.cs
- ExtensionFile.cs
- TreeView.cs
- LoginDesigner.cs
- GuidelineCollection.cs
- SecurityResources.cs
- ConnectionStringsSection.cs
- InputMethod.cs
- WorkflowDataContext.cs
- ParallelEnumerableWrapper.cs
- Point3DKeyFrameCollection.cs
- NonClientArea.cs
- mediaeventshelper.cs
- InstanceDataCollectionCollection.cs
- NumberSubstitution.cs
- SHA256.cs
- _AuthenticationState.cs
- TreeViewBindingsEditorForm.cs