Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Behaviors / CancellationHandler.cs / 1305376 / CancellationHandler.cs
namespace System.Workflow.ComponentModel
{
using System;
using System.Drawing;
using System.ComponentModel;
using System.Collections;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel.Design;
using System.Workflow.ComponentModel.Compiler;
[ToolboxItem(false)]
[Designer(typeof(CancellationHandlerActivityDesigner), typeof(IDesigner))]
[ToolboxBitmap(typeof(CancellationHandlerActivity), "Resources.CancellationHandler.bmp")]
[ActivityValidator(typeof(CancellationHandlerValidator))]
[AlternateFlowActivity]
public sealed class CancellationHandlerActivity : CompositeActivity, IActivityEventListener
{
public CancellationHandlerActivity()
{
}
public CancellationHandlerActivity(string name)
:base(name)
{
}
protected internal override void Initialize(IServiceProvider provider)
{
if (this.Parent == null)
throw new InvalidOperationException(SR.GetString(SR.Error_MustHaveParent));
base.Initialize(provider);
}
protected internal override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
return SequenceHelper.Execute(this, executionContext);
}
protected internal override ActivityExecutionStatus Cancel(ActivityExecutionContext executionContext)
{
return SequenceHelper.Cancel(this, executionContext);
}
void IActivityEventListener.OnEvent(Object sender, ActivityExecutionStatusChangedEventArgs e)
{
SequenceHelper.OnEvent(this, sender, e);
}
protected internal override void OnActivityChangeRemove(ActivityExecutionContext executionContext, Activity removedActivity)
{
SequenceHelper.OnActivityChangeRemove(this, executionContext, removedActivity);
}
protected internal override void OnWorkflowChangesCompleted(ActivityExecutionContext executionContext)
{
SequenceHelper.OnWorkflowChangesCompleted(this, executionContext);
}
}
internal sealed class CancellationHandlerValidator : CompositeActivityValidator
{
public override ValidationErrorCollection Validate(ValidationManager manager, object obj)
{
ValidationErrorCollection validationErrors = base.Validate(manager, obj);
CancellationHandlerActivity cancellationHandlerActivity = obj as CancellationHandlerActivity;
if (cancellationHandlerActivity == null)
throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(CancellationHandlerActivity).FullName), "obj");
if (cancellationHandlerActivity.EnabledActivities.Count == 0)
validationErrors.Add(new ValidationError(SR.GetString(SR.Warning_EmptyBehaviourActivity, typeof(CancellationHandlerActivity).FullName, cancellationHandlerActivity.QualifiedName), ErrorNumbers.Warning_EmptyBehaviourActivity, true));
// cancellation handlers can not contain fault handlers, compensation handler and cancellation handler
if (((ISupportAlternateFlow)cancellationHandlerActivity).AlternateFlowActivities.Count > 0)
validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ModelingConstructsCanNotContainModelingConstructs), ErrorNumbers.Error_ModelingConstructsCanNotContainModelingConstructs));
return validationErrors;
}
}
}
// 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
- SystemResourceKey.cs
- TimelineClockCollection.cs
- GuidConverter.cs
- StaticTextPointer.cs
- DetailsViewPagerRow.cs
- DbExpressionVisitor.cs
- BrowserCapabilitiesFactoryBase.cs
- DataGridColumnCollection.cs
- QilPatternFactory.cs
- GeometryGroup.cs
- ActiveDocumentEvent.cs
- ZoneLinkButton.cs
- Form.cs
- BindingListCollectionView.cs
- WsdlParser.cs
- XmlUnspecifiedAttribute.cs
- SafeCoTaskMem.cs
- GcHandle.cs
- PrintDialog.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ConfigXmlText.cs
- wgx_commands.cs
- Span.cs
- DPCustomTypeDescriptor.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ApplicationServicesHostFactory.cs
- Mapping.cs
- EventLogEntry.cs
- assemblycache.cs
- DiscoveryClientProtocol.cs
- DbProviderFactory.cs
- Font.cs
- ManagedIStream.cs
- MimeWriter.cs
- MessageHeaderException.cs
- DeviceContext2.cs
- DataGridRowHeaderAutomationPeer.cs
- prompt.cs
- FileCodeGroup.cs
- TypeCodeDomSerializer.cs
- CompModHelpers.cs
- XmlSchemaIdentityConstraint.cs
- TextDecorations.cs
- DbExpressionVisitor_TResultType.cs
- CodeCommentStatement.cs
- MultiBinding.cs
- SimpleWorkerRequest.cs
- EventRouteFactory.cs
- DbProviderFactory.cs
- ConfigurationSectionGroupCollection.cs
- ArrayListCollectionBase.cs
- SchemaImporterExtensionsSection.cs
- NamedElement.cs
- ColumnHeaderConverter.cs
- TextServicesManager.cs
- ProcessProtocolHandler.cs
- HttpProxyTransportBindingElement.cs
- VScrollProperties.cs
- EditorZoneBase.cs
- IisTraceListener.cs
- TagMapCollection.cs
- AppLevelCompilationSectionCache.cs
- RegexCode.cs
- FormsIdentity.cs
- MethodCallExpression.cs
- VirtualPathUtility.cs
- regiisutil.cs
- HttpCapabilitiesBase.cs
- StrokeIntersection.cs
- SolidColorBrush.cs
- SqlDataSourceRefreshSchemaForm.cs
- Cursors.cs
- TemplateBuilder.cs
- RtfToXamlLexer.cs
- Group.cs
- Symbol.cs
- UnsafeNativeMethods.cs
- Root.cs
- EntityDataSourceDesignerHelper.cs
- EncryptedPackage.cs
- ApplicationHost.cs
- SchemaCollectionCompiler.cs
- Rotation3DAnimation.cs
- Debug.cs
- HttpModule.cs
- OdbcErrorCollection.cs
- TemplateColumn.cs
- ItemCollection.cs
- IPAddressCollection.cs
- DetectRunnableInstancesTask.cs
- DbTransaction.cs
- FieldMetadata.cs
- Parsers.cs
- HttpStreams.cs
- PerformanceCounterManager.cs
- CustomCategoryAttribute.cs
- Attributes.cs
- ActivityExecutor.cs
- ListenerChannelContext.cs
- MenuItemCollection.cs