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
- ZipPackage.cs
- Properties.cs
- _AcceptOverlappedAsyncResult.cs
- DataGridViewTextBoxColumn.cs
- OracleConnectionString.cs
- Profiler.cs
- XmlCountingReader.cs
- SmiXetterAccessMap.cs
- SinglePageViewer.cs
- _SingleItemRequestCache.cs
- SmiRecordBuffer.cs
- PointLight.cs
- COMException.cs
- Msec.cs
- TabletDevice.cs
- AuthStoreRoleProvider.cs
- DataComponentGenerator.cs
- Bold.cs
- DataListItemCollection.cs
- DataGridViewCellParsingEventArgs.cs
- XmlTextEncoder.cs
- SubMenuStyleCollection.cs
- Int64AnimationUsingKeyFrames.cs
- CounterSampleCalculator.cs
- WebPartAddingEventArgs.cs
- SoundPlayerAction.cs
- unitconverter.cs
- SoundPlayerAction.cs
- MessageFault.cs
- XmlDomTextWriter.cs
- Console.cs
- DataTableReader.cs
- Profiler.cs
- Button.cs
- RadioButtonFlatAdapter.cs
- HtmlMeta.cs
- GestureRecognitionResult.cs
- Compensate.cs
- EntityDataSourceSelectedEventArgs.cs
- LinkDescriptor.cs
- SelectionHighlightInfo.cs
- BindStream.cs
- GlyphCache.cs
- SqlFunctionAttribute.cs
- ISCIIEncoding.cs
- AdPostCacheSubstitution.cs
- WindowsToolbarAsMenu.cs
- ApplicationSettingsBase.cs
- NameValuePermission.cs
- ToolstripProfessionalRenderer.cs
- Int32Rect.cs
- PropertyStore.cs
- PermissionAttributes.cs
- RowTypeElement.cs
- UpdateExpressionVisitor.cs
- TransformDescriptor.cs
- Label.cs
- DataGridViewRowCollection.cs
- ListViewGroupConverter.cs
- DeviceContext.cs
- IssuedTokenParametersEndpointAddressElement.cs
- ResourceProviderFactory.cs
- ErrorWrapper.cs
- CompatibleIComparer.cs
- RawUIStateInputReport.cs
- UnauthorizedWebPart.cs
- SessionEndingCancelEventArgs.cs
- HWStack.cs
- AtomicFile.cs
- SQLBytes.cs
- XmlElementCollection.cs
- BufferedGraphicsManager.cs
- DataGridViewLinkCell.cs
- TrackingDataItem.cs
- ScrollPattern.cs
- SafeArrayTypeMismatchException.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- IsolatedStoragePermission.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ContainerUIElement3D.cs
- DoubleIndependentAnimationStorage.cs
- WizardPanel.cs
- HealthMonitoringSection.cs
- ChangesetResponse.cs
- DBParameter.cs
- ApplicationInterop.cs
- ParsedAttributeCollection.cs
- EntityDesignerDataSourceView.cs
- AssemblyResourceLoader.cs
- XPathSelectionIterator.cs
- ToolStripDropDown.cs
- Expression.cs
- DataTableTypeConverter.cs
- SplitContainer.cs
- BeginStoryboard.cs
- OleAutBinder.cs
- TemplatedEditableDesignerRegion.cs
- CodeSnippetExpression.cs
- IsolatedStorageFileStream.cs
- CategoryNameCollection.cs