Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Activities / System / ServiceModel / Activities / InitializeCorrelation.cs / 1305376 / InitializeCorrelation.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Activities
{
using System;
using System.Activities;
using System.Collections.Generic;
using System.Runtime.DurableInstancing;
using System.ServiceModel.Activities.Dispatcher;
using SR2 = System.ServiceModel.Activities.SR;
using System.ComponentModel;
using System.Windows.Markup;
using System.Runtime.Collections;
using System.Runtime;
[ContentProperty("CorrelationData")]
public sealed class InitializeCorrelation : NativeActivity
{
public InitializeCorrelation()
{
this.CorrelationData = new OrderedDictionary>();
}
[DefaultValue(null)]
public InArgument Correlation
{
get;
set;
}
public IDictionary> CorrelationData
{
get;
private set;
}
protected override void Execute(NativeActivityContext context)
{
CorrelationHandle correlationHandle = (this.Correlation == null) ? null : this.Correlation.Get(context);
if (correlationHandle == null)
{
//throw only if ambient correlation handle is also null
correlationHandle = context.Properties.Find(CorrelationHandle.StaticExecutionPropertyName) as CorrelationHandle;
if (correlationHandle == null)
{
throw FxTrace.Exception.AsError(
new InvalidOperationException(SR2.NullCorrelationHandleInInitializeCorrelation(this.DisplayName)));
}
}
CorrelationExtension extension = context.GetExtension();
if (extension != null)
{
Dictionary dictionary = new Dictionary();
foreach ( KeyValuePair> pair in this.CorrelationData )
{
Fx.Assert(pair.Value != null, "pair.Value should be validated during cache metadata");
dictionary.Add(pair.Key, pair.Value.Get(context));
}
correlationHandle.InitializeBookmarkScope(context, extension.GenerateKey(dictionary));
}
else
{
throw FxTrace.Exception.AsError(new InvalidOperationException(SR2.InitializeCorrelationRequiresWorkflowServiceHost(this.DisplayName)));
}
}
}
}
// 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
- NotificationContext.cs
- XmlUtilWriter.cs
- RightsManagementEncryptionTransform.cs
- NativeRecognizer.cs
- TableProviderWrapper.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- RawUIStateInputReport.cs
- ReflectTypeDescriptionProvider.cs
- AuthenticationConfig.cs
- XmlSchemaAppInfo.cs
- Attribute.cs
- PanelStyle.cs
- XmlAtomicValue.cs
- Simplifier.cs
- Int32CollectionConverter.cs
- AndMessageFilter.cs
- TraceSection.cs
- GenericEnumerator.cs
- GatewayDefinition.cs
- KeyTimeConverter.cs
- ResolveNameEventArgs.cs
- ButtonChrome.cs
- DispatcherSynchronizationContext.cs
- DbConnectionStringBuilder.cs
- FormsAuthenticationCredentials.cs
- TypeSystem.cs
- StateWorkerRequest.cs
- CommandBindingCollection.cs
- ChannelServices.cs
- DataGridViewColumnEventArgs.cs
- MultilineStringEditor.cs
- NestedContainer.cs
- UserMapPath.cs
- DiagnosticEventProvider.cs
- NameNode.cs
- XmlSchemaObjectCollection.cs
- ExecutionEngineException.cs
- WindowsSecurityTokenAuthenticator.cs
- AvTraceFormat.cs
- OdbcInfoMessageEvent.cs
- AsymmetricAlgorithm.cs
- BitmapEffectInput.cs
- CalloutQueueItem.cs
- EntitySetBase.cs
- StrongNameKeyPair.cs
- VirtualizedCellInfoCollection.cs
- NameObjectCollectionBase.cs
- HttpsTransportBindingElement.cs
- ImpersonateTokenRef.cs
- SafeSystemMetrics.cs
- ServiceObjectContainer.cs
- ColorAnimationUsingKeyFrames.cs
- TimeSpanOrInfiniteValidator.cs
- XmlSchemaComplexContentRestriction.cs
- SQLBoolean.cs
- PropertyTabAttribute.cs
- DataTransferEventArgs.cs
- CrossContextChannel.cs
- EntityContainer.cs
- CalendarSelectionChangedEventArgs.cs
- ExecutionEngineException.cs
- MeshGeometry3D.cs
- ZipPackage.cs
- Int32Collection.cs
- Avt.cs
- PenContext.cs
- ProgressPage.cs
- EdmConstants.cs
- UIElementCollection.cs
- MachineKeyConverter.cs
- SerialErrors.cs
- UserControlDocumentDesigner.cs
- SiteMapNodeItem.cs
- ContentPathSegment.cs
- Helpers.cs
- XmlObjectSerializerReadContextComplexJson.cs
- Wildcard.cs
- HttpRuntime.cs
- MobileUserControlDesigner.cs
- SingleStorage.cs
- HiddenFieldPageStatePersister.cs
- Preprocessor.cs
- ComponentManagerBroker.cs
- HtmlTernaryTree.cs
- CodeAccessPermission.cs
- MetadataPropertyCollection.cs
- FrameworkObject.cs
- RemoteAsymmetricSignatureFormatter.cs
- StackSpiller.Bindings.cs
- __FastResourceComparer.cs
- WebPartEventArgs.cs
- CollectionViewProxy.cs
- GlyphCache.cs
- DelegatedStream.cs
- BindingContext.cs
- CreateWorkflowOwnerCommand.cs
- Label.cs
- InstanceContextMode.cs
- CodeIdentifier.cs
- StaticDataManager.cs