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
- WindowsPen.cs
- Camera.cs
- FileSystemInfo.cs
- MenuItem.cs
- NavigatorInput.cs
- ViewBase.cs
- BlobPersonalizationState.cs
- DependencyPropertyHelper.cs
- DelegatingTypeDescriptionProvider.cs
- WebFaultClientMessageInspector.cs
- TraceHandler.cs
- ApplicationContext.cs
- TextCollapsingProperties.cs
- DiagnosticsConfigurationHandler.cs
- FunctionDefinition.cs
- SmtpNtlmAuthenticationModule.cs
- EarlyBoundInfo.cs
- FloatUtil.cs
- HyperLink.cs
- UIElementIsland.cs
- IWorkflowDebuggerService.cs
- RuntimeConfigLKG.cs
- SafeNativeMethods.cs
- BufferedStream.cs
- GenericEnumConverter.cs
- ServiceContractListItemList.cs
- FileSystemInfo.cs
- ArraySubsetEnumerator.cs
- JsonSerializer.cs
- ScriptComponentDescriptor.cs
- XPathDocumentBuilder.cs
- PenLineCapValidation.cs
- ThrowHelper.cs
- AppModelKnownContentFactory.cs
- SyndicationDeserializer.cs
- ScriptModule.cs
- EmissiveMaterial.cs
- SapiAttributeParser.cs
- ProcessModuleCollection.cs
- FixedBufferAttribute.cs
- PEFileEvidenceFactory.cs
- WindowsButton.cs
- EventMetadata.cs
- SynchronizedDispatch.cs
- ConnectionStringsExpressionEditor.cs
- StoreItemCollection.Loader.cs
- XmlQualifiedNameTest.cs
- BufferedStream.cs
- ApplicationProxyInternal.cs
- ReliabilityContractAttribute.cs
- ListParagraph.cs
- TextComposition.cs
- SqlComparer.cs
- WorkflowLayouts.cs
- FunctionUpdateCommand.cs
- HttpGetClientProtocol.cs
- SynchronizationLockException.cs
- ContextMenuService.cs
- ClientRuntimeConfig.cs
- sqlpipe.cs
- LineSegment.cs
- ApplicationId.cs
- XpsS0ValidatingLoader.cs
- ViewBase.cs
- ToolStripScrollButton.cs
- GeneralTransform3DCollection.cs
- AggregateNode.cs
- embossbitmapeffect.cs
- ComboBoxDesigner.cs
- DefinitionUpdate.cs
- DigestComparer.cs
- IndexedEnumerable.cs
- ActivitySurrogate.cs
- TrustLevel.cs
- MimeMultiPart.cs
- DependencyPropertyHelper.cs
- HitTestFilterBehavior.cs
- CornerRadius.cs
- XPathNavigatorKeyComparer.cs
- TransactionInterop.cs
- AddInProcess.cs
- SplineQuaternionKeyFrame.cs
- Ticks.cs
- ArraySubsetEnumerator.cs
- WebPageTraceListener.cs
- BrowsableAttribute.cs
- DataIdProcessor.cs
- InputMethod.cs
- Command.cs
- StorageInfo.cs
- WebBaseEventKeyComparer.cs
- NonVisualControlAttribute.cs
- QuinticEase.cs
- DuplicateWaitObjectException.cs
- CodeCompiler.cs
- DataChangedEventManager.cs
- XmlSchemaComplexContent.cs
- UnsafeMethods.cs
- DataContext.cs
- HtmlFormParameterReader.cs