Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / CompositeActivityMarkupSerializer.cs / 1305376 / CompositeActivityMarkupSerializer.cs
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using System.Workflow.ComponentModel.Design;
using System.Xml;
#region Class CompositeActivityMarkupSerializer
public class CompositeActivityMarkupSerializer : ActivityMarkupSerializer
{
internal override void OnBeforeSerializeContents(WorkflowMarkupSerializationManager serializationManager, object obj)
{
base.OnBeforeSerializeContents(serializationManager, obj);
//For root activity we will go through all the nested activities and put the namespaces at the top level
CompositeActivity compositeActivity = obj as CompositeActivity;
XmlWriter writer = serializationManager.WorkflowMarkupStack[typeof(XmlWriter)] as XmlWriter;
if (compositeActivity.Parent == null && writer != null)
{
Dictionary writtenMappings = new Dictionary();
string prefix = String.Empty;
XmlQualifiedName xmlQualifiedName = serializationManager.GetXmlQualifiedName(compositeActivity.GetType(), out prefix);
writtenMappings.Add(xmlQualifiedName.Namespace, compositeActivity);
foreach (Activity containedActivity in Helpers.GetNestedActivities(compositeActivity))
{
prefix = String.Empty;
xmlQualifiedName = serializationManager.GetXmlQualifiedName(containedActivity.GetType(), out prefix);
if (!writtenMappings.ContainsKey(xmlQualifiedName.Namespace))
{
writer.WriteAttributeString("xmlns", prefix, null, xmlQualifiedName.Namespace);
writtenMappings.Add(xmlQualifiedName.Namespace, containedActivity);
}
}
}
}
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReachPageContentCollectionSerializerAsync.cs
- CompositionCommandSet.cs
- ImageListUtils.cs
- Certificate.cs
- _OSSOCK.cs
- ClientFormsIdentity.cs
- DbCommandTree.cs
- TraceData.cs
- SrgsItemList.cs
- SByte.cs
- webproxy.cs
- TreeNodeCollectionEditor.cs
- Int32Storage.cs
- IODescriptionAttribute.cs
- TargetConverter.cs
- HatchBrush.cs
- NativeMethods.cs
- Error.cs
- WebColorConverter.cs
- PropertyPathConverter.cs
- WebPartConnection.cs
- FixedSOMLineCollection.cs
- AspProxy.cs
- pingexception.cs
- SByteStorage.cs
- UnionExpr.cs
- CalendarDateRangeChangingEventArgs.cs
- ApplicationId.cs
- BamlVersionHeader.cs
- XmlChildNodes.cs
- Regex.cs
- WebHeaderCollection.cs
- FixedPosition.cs
- Privilege.cs
- ExpressionBuilder.cs
- XpsFilter.cs
- LineVisual.cs
- SoapCodeExporter.cs
- TextModifierScope.cs
- XPathMultyIterator.cs
- LocatorPart.cs
- HostAdapter.cs
- ConfigurationConverterBase.cs
- ExpandoClass.cs
- ResourceContainer.cs
- DbDataReader.cs
- Icon.cs
- _HeaderInfoTable.cs
- Tile.cs
- ObjectHelper.cs
- MsmqOutputMessage.cs
- RuntimeComponentFilter.cs
- WebServiceTypeData.cs
- DocumentViewerBase.cs
- XmlValidatingReader.cs
- DataGridViewRowStateChangedEventArgs.cs
- WebResourceUtil.cs
- TextWriter.cs
- SoapSchemaMember.cs
- BaseCodeDomTreeGenerator.cs
- DesignerLoader.cs
- CheckoutException.cs
- XmlIncludeAttribute.cs
- MultilineStringConverter.cs
- DataExpression.cs
- TypeDescriptionProvider.cs
- AccessDataSource.cs
- Point3DConverter.cs
- SecurityManager.cs
- AppDomainFactory.cs
- TableMethodGenerator.cs
- AttributeQuery.cs
- Assembly.cs
- ApplicationException.cs
- WebPartDeleteVerb.cs
- TextServicesProperty.cs
- printdlgexmarshaler.cs
- MessageUtil.cs
- ColorAnimation.cs
- DataBoundControlAdapter.cs
- GeometryDrawing.cs
- PropertyDescriptor.cs
- StructuralType.cs
- PassportIdentity.cs
- SmtpNegotiateAuthenticationModule.cs
- WriteTimeStream.cs
- BindableTemplateBuilder.cs
- TextTreeFixupNode.cs
- PropertyConverter.cs
- assertwrapper.cs
- WorkflowViewStateService.cs
- FormattedTextSymbols.cs
- ConfigViewGenerator.cs
- RoutedEventValueSerializer.cs
- WorkflowPersistenceContext.cs
- COM2AboutBoxPropertyDescriptor.cs
- XmlChoiceIdentifierAttribute.cs
- Activator.cs
- IgnoreFileBuildProvider.cs
- TreeNodeCollectionEditor.cs