Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / DurableInstancing / LoadWorkflowByInstanceKeyCommand.cs / 1305376 / LoadWorkflowByInstanceKeyCommand.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.DurableInstancing { using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Runtime; using System.Runtime.DurableInstancing; using System.Xml.Linq; [Fx.Tag.XamlVisible(false)] public sealed class LoadWorkflowByInstanceKeyCommand : InstancePersistenceCommand { Dictionary> keysToAssociate; public LoadWorkflowByInstanceKeyCommand() : base(InstancePersistence.ActivitiesCommandNamespace.GetName("LoadWorkflowByInstanceKey")) { } public bool AcceptUninitializedInstance { get; set; } public Guid LookupInstanceKey { get; set; } public Guid AssociateInstanceKeyToInstanceId { get; set; } public IDictionary > InstanceKeysToAssociate { get { if (this.keysToAssociate == null) { this.keysToAssociate = new Dictionary >(); } return this.keysToAssociate; } } protected internal override bool IsTransactionEnlistmentOptional { get { return (this.keysToAssociate == null || this.keysToAssociate.Count == 0) && AssociateInstanceKeyToInstanceId == Guid.Empty; } } protected internal override bool AutomaticallyAcquiringLock { get { return true; } } protected internal override void Validate(InstanceView view) { if (!view.IsBoundToInstanceOwner) { throw FxTrace.Exception.AsError(new InvalidOperationException(SRCore.OwnerRequired)); } if (view.IsBoundToInstance) { throw FxTrace.Exception.AsError(new InvalidOperationException(SRCore.AlreadyBoundToInstance)); } if (LookupInstanceKey == Guid.Empty) { throw FxTrace.Exception.AsError(new InvalidOperationException(SRCore.LoadOpKeyMustBeValid)); } if (AssociateInstanceKeyToInstanceId == Guid.Empty) { if (InstanceKeysToAssociate.ContainsKey(LookupInstanceKey)) { throw FxTrace.Exception.AsError(new InvalidOperationException(SRCore.LoadOpAssociateKeysCannotContainLookupKey)); } } else { if (!AcceptUninitializedInstance) { throw FxTrace.Exception.AsError(new InvalidOperationException(SRCore.LoadOpFreeKeyRequiresAcceptUninitialized)); } } if (this.keysToAssociate != null) { foreach (KeyValuePair > key in this.keysToAssociate) { InstancePersistence.ValidatePropertyBag(key.Value); } } } } } // 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
- PrintDialog.cs
- MenuItem.cs
- MsmqHostedTransportConfiguration.cs
- SafeHandle.cs
- FieldBuilder.cs
- UserControlCodeDomTreeGenerator.cs
- MultitargetUtil.cs
- XmlReader.cs
- XPathNavigatorKeyComparer.cs
- ScriptServiceAttribute.cs
- WsatStrings.cs
- BitmapEffectDrawingContextWalker.cs
- TypeSource.cs
- UpdateExpressionVisitor.cs
- D3DImage.cs
- ScrollPattern.cs
- TableChangeProcessor.cs
- DataGridViewDataErrorEventArgs.cs
- BufferedGraphicsManager.cs
- TextViewBase.cs
- XmlResolver.cs
- XPathNodeList.cs
- ControlPropertyNameConverter.cs
- DataKey.cs
- SqlNode.cs
- WindowsSpinner.cs
- ProtocolsConfigurationHandler.cs
- FixUp.cs
- AsyncOperation.cs
- DeclarativeCatalogPart.cs
- FileChangesMonitor.cs
- FloaterParagraph.cs
- EmissiveMaterial.cs
- DirectionalLight.cs
- SizeIndependentAnimationStorage.cs
- MappedMetaModel.cs
- InkCanvasFeedbackAdorner.cs
- HttpResponseWrapper.cs
- UnSafeCharBuffer.cs
- GrammarBuilderWildcard.cs
- SplayTreeNode.cs
- SqlMethodAttribute.cs
- WebExceptionStatus.cs
- CodeIndexerExpression.cs
- CollectionView.cs
- XsltContext.cs
- BindableAttribute.cs
- streamingZipPartStream.cs
- HashMembershipCondition.cs
- PasswordTextNavigator.cs
- XPathAncestorIterator.cs
- AsyncOperationManager.cs
- AuthenticateEventArgs.cs
- OleDbConnectionFactory.cs
- ControlTemplate.cs
- HtmlLabelAdapter.cs
- IdentityHolder.cs
- DescendantOverDescendantQuery.cs
- TextTreeRootNode.cs
- XamlPathDataSerializer.cs
- StringDictionary.cs
- MergeLocalizationDirectives.cs
- CodeStatementCollection.cs
- TextModifier.cs
- TraceContextEventArgs.cs
- FixedElement.cs
- PartitionerStatic.cs
- XmlSchemaAnnotated.cs
- ExpressionVisitorHelpers.cs
- SafeNativeMethods.cs
- ComPlusThreadInitializer.cs
- PeerEndPoint.cs
- XmlNavigatorStack.cs
- DesignerVerb.cs
- HtmlInputPassword.cs
- XmlnsPrefixAttribute.cs
- HttpResponseWrapper.cs
- MethodBuilder.cs
- IncrementalReadDecoders.cs
- CombinedGeometry.cs
- TableCell.cs
- MLangCodePageEncoding.cs
- EncodingNLS.cs
- ReceiveActivityDesigner.cs
- QualifiedCellIdBoolean.cs
- DataSourceNameHandler.cs
- LinkTarget.cs
- EnumConverter.cs
- FactoryMaker.cs
- SdlChannelSink.cs
- COM2PropertyPageUITypeConverter.cs
- BinaryFormatter.cs
- PropertyKey.cs
- AttributeSetAction.cs
- ConfigurationManagerInternalFactory.cs
- MessagePartProtectionMode.cs
- HideDisabledControlAdapter.cs
- ClientProxyGenerator.cs
- SafeNativeMethods.cs
- UnsafeNativeMethods.cs