Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities.DurableInstancing / System / Activities / DurableInstancing / CorrelationKey.cs / 1305376 / CorrelationKey.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities.DurableInstancing
{
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Runtime;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
using System.Runtime.DurableInstancing;
sealed class CorrelationKey
{
public CorrelationKey(Guid keyId)
: this(keyId, null, InstanceEncodingOption.None)
{
}
public CorrelationKey(Guid keyId, IDictionary keyMetadata, InstanceEncodingOption encodingOption)
{
this.KeyId = keyId;
this.BinaryData = SerializationUtilities.SerializeKeyMetadata(keyMetadata, encodingOption);
}
public Guid KeyId
{
get;
set;
}
public long StartPosition
{
get;
set;
}
public ArraySegment BinaryData
{
get;
set;
}
public void SerializeToXmlElement(XmlWriter xmlWriter)
{
xmlWriter.WriteStartElement("CorrelationKey");
xmlWriter.WriteAttributeString("KeyId", this.KeyId.ToString());
if (this.BinaryData.Array != null)
{
xmlWriter.WriteAttributeString("StartPosition", this.StartPosition.ToString(CultureInfo.InvariantCulture));
xmlWriter.WriteAttributeString("BinaryLength", this.BinaryData.Count.ToString(CultureInfo.InvariantCulture));
}
xmlWriter.WriteEndElement();
}
public static List BuildKeyList(ICollection keys)
{
List result = null;
if (keys != null)
{
result = new List(keys.Count);
foreach (Guid guid in keys)
{
result.Add(new CorrelationKey(guid));
}
}
else
{
result = new List();
}
return result;
}
public static List BuildKeyList(IDictionary> keys, InstanceEncodingOption encodingOption)
{
List result = new List();
if (keys != null)
{
foreach (KeyValuePair> keyValuePair in keys)
{
result.Add(new CorrelationKey(keyValuePair.Key, keyValuePair.Value, encodingOption));
}
}
return result;
}
}
}
// 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
- DataGridViewRowPrePaintEventArgs.cs
- AutoCompleteStringCollection.cs
- DecoderReplacementFallback.cs
- NavigationProgressEventArgs.cs
- SurrogateEncoder.cs
- AesManaged.cs
- Assert.cs
- WorkflowPageSetupDialog.cs
- Vector3DAnimationUsingKeyFrames.cs
- PointLightBase.cs
- Console.cs
- AsynchronousChannel.cs
- ChangePassword.cs
- EncodingNLS.cs
- PcmConverter.cs
- WebBrowserSiteBase.cs
- EventMappingSettingsCollection.cs
- RegexNode.cs
- MenuItemBinding.cs
- InstanceCompleteException.cs
- _SingleItemRequestCache.cs
- Polygon.cs
- InternalsVisibleToAttribute.cs
- XamlSerializer.cs
- X509ChainPolicy.cs
- ResourceContainer.cs
- IOException.cs
- PeerApplicationLaunchInfo.cs
- SessionEndingCancelEventArgs.cs
- RemotingSurrogateSelector.cs
- ListItemConverter.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- DelegatedStream.cs
- TreeNodeStyle.cs
- SessionPageStateSection.cs
- HttpTransportSecurityElement.cs
- AdapterDictionary.cs
- ParameterCollection.cs
- TitleStyle.cs
- IUnknownConstantAttribute.cs
- StringSource.cs
- ComAdminWrapper.cs
- CursorConverter.cs
- TabControlCancelEvent.cs
- Relationship.cs
- HttpCookiesSection.cs
- WebPartDescription.cs
- ToolStripScrollButton.cs
- HScrollBar.cs
- FileSystemEventArgs.cs
- DataView.cs
- SqlPersonalizationProvider.cs
- LowerCaseStringConverter.cs
- sqlpipe.cs
- Resources.Designer.cs
- AliasExpr.cs
- DataGridViewMethods.cs
- WebPartVerbCollection.cs
- EditorZoneDesigner.cs
- WebResponse.cs
- AsymmetricSignatureDeformatter.cs
- DataSourceXmlTextReader.cs
- LookupTables.cs
- SystemIPv4InterfaceProperties.cs
- WebPartHeaderCloseVerb.cs
- EmptyElement.cs
- FormsAuthenticationModule.cs
- TTSEngineTypes.cs
- TraceSwitch.cs
- Stylesheet.cs
- Button.cs
- ADMembershipProvider.cs
- GroupDescription.cs
- XXXOnTypeBuilderInstantiation.cs
- ASCIIEncoding.cs
- XXXOnTypeBuilderInstantiation.cs
- ShapingWorkspace.cs
- PlatformCulture.cs
- IntSecurity.cs
- XmlSerializer.cs
- DataQuery.cs
- LineGeometry.cs
- RichTextBoxAutomationPeer.cs
- ExecutionScope.cs
- TemplateParser.cs
- TabControl.cs
- KnowledgeBase.cs
- DiagnosticsConfiguration.cs
- MonthCalendarDesigner.cs
- LineVisual.cs
- OracleRowUpdatedEventArgs.cs
- ServerIdentity.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- StylusPointPropertyId.cs
- ZoneMembershipCondition.cs
- FormatException.cs
- ListItemCollection.cs
- SoapAttributes.cs
- TreeNodeMouseHoverEvent.cs
- WsatServiceAddress.cs