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
- ClientScriptManager.cs
- WebEventTraceProvider.cs
- XmlSchemaAnyAttribute.cs
- DataGridViewUtilities.cs
- StreamSecurityUpgradeAcceptorBase.cs
- TimelineCollection.cs
- PolyQuadraticBezierSegment.cs
- WebHttpBindingElement.cs
- WebPartVerbCollection.cs
- XmlIlGenerator.cs
- ReadOnlyDataSourceView.cs
- Graph.cs
- SessionPageStatePersister.cs
- ItemCheckEvent.cs
- FlowDocument.cs
- WorkItem.cs
- Vector3DKeyFrameCollection.cs
- ScriptRegistrationManager.cs
- XmlAttributeCollection.cs
- RenderData.cs
- RepeaterItem.cs
- ManagedWndProcTracker.cs
- GenerateScriptTypeAttribute.cs
- COM2PropertyDescriptor.cs
- SQLBoolean.cs
- HttpBufferlessInputStream.cs
- LicenseException.cs
- CompoundFileReference.cs
- login.cs
- Point3D.cs
- HtmlObjectListAdapter.cs
- ScrollProperties.cs
- SQLRoleProvider.cs
- EntityTypeEmitter.cs
- _BasicClient.cs
- ComboBoxAutomationPeer.cs
- PriorityBinding.cs
- XmlTextEncoder.cs
- AsyncPostBackErrorEventArgs.cs
- XmlSchemaType.cs
- TypedRowHandler.cs
- BasicHttpMessageSecurityElement.cs
- SystemIcons.cs
- InternalsVisibleToAttribute.cs
- CompositeDuplexBindingElement.cs
- EtwTrace.cs
- WindowsListViewItem.cs
- ServiceModelConfigurationSectionCollection.cs
- XmlSchemaSimpleContent.cs
- DataBindingExpressionBuilder.cs
- EventDescriptorCollection.cs
- CheckPair.cs
- ControlParameter.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- EnumBuilder.cs
- FigureHelper.cs
- FileDialog.cs
- TableCellCollection.cs
- SqlInternalConnectionTds.cs
- Win32Native.cs
- Matrix.cs
- PriorityRange.cs
- TreeNodeEventArgs.cs
- SqlFlattener.cs
- RightsManagementManager.cs
- ServiceElement.cs
- SqlAliaser.cs
- mediaclock.cs
- EventSetter.cs
- MaxSessionCountExceededException.cs
- FamilyCollection.cs
- FileReservationCollection.cs
- NewExpression.cs
- DbProviderConfigurationHandler.cs
- SelectionRange.cs
- FilterRepeater.cs
- PkcsUtils.cs
- BCryptNative.cs
- OdbcDataAdapter.cs
- DataColumnChangeEvent.cs
- MemberRelationshipService.cs
- JsonObjectDataContract.cs
- XhtmlBasicImageAdapter.cs
- HostingEnvironmentWrapper.cs
- EntityDataSourceContextDisposingEventArgs.cs
- ListBoxAutomationPeer.cs
- SurrogateSelector.cs
- ToolStripContentPanel.cs
- XmlDataContract.cs
- CurrencyWrapper.cs
- RegistrySecurity.cs
- ColorIndependentAnimationStorage.cs
- JsonXmlDataContract.cs
- NativeMethods.cs
- Pair.cs
- XmlIlVisitor.cs
- DbMetaDataFactory.cs
- RegexCode.cs
- NativeMethodsCLR.cs
- TemplateParser.cs