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
- StateManagedCollection.cs
- XmlCustomFormatter.cs
- FormViewRow.cs
- EventSourceCreationData.cs
- PtsContext.cs
- DelegateSerializationHolder.cs
- ProfileModule.cs
- AuthorizationSection.cs
- Attribute.cs
- SafeUserTokenHandle.cs
- Point3DAnimation.cs
- WindowsGraphics2.cs
- DbCommandDefinition.cs
- VariableValue.cs
- RoleManagerEventArgs.cs
- Parser.cs
- HttpCookieCollection.cs
- DesignConnection.cs
- ConfigPathUtility.cs
- TdsParameterSetter.cs
- InvocationExpression.cs
- odbcmetadatafactory.cs
- LinkArea.cs
- IImplicitResourceProvider.cs
- OdbcConnectionStringbuilder.cs
- UnsafeNativeMethodsTablet.cs
- FormParameter.cs
- TypeConverter.cs
- ZoneMembershipCondition.cs
- SqlPersonalizationProvider.cs
- Trace.cs
- MatrixIndependentAnimationStorage.cs
- ContentTextAutomationPeer.cs
- FixedPage.cs
- HtmlControlDesigner.cs
- KnownIds.cs
- TextPointerBase.cs
- BooleanSwitch.cs
- BitmapEffectInput.cs
- Pts.cs
- ExpressionPrefixAttribute.cs
- TCPClient.cs
- DoubleCollectionConverter.cs
- CheckBoxField.cs
- UmAlQuraCalendar.cs
- SamlAction.cs
- SQLMoney.cs
- QueryCreatedEventArgs.cs
- XsdBuilder.cs
- CompilationSection.cs
- DummyDataSource.cs
- ImpersonationOption.cs
- ToolStripScrollButton.cs
- HtmlTableCellCollection.cs
- DocumentViewerBaseAutomationPeer.cs
- OuterGlowBitmapEffect.cs
- TextUtf8RawTextWriter.cs
- EncodingStreamWrapper.cs
- DoubleLinkList.cs
- CompositeDuplexElement.cs
- IsolatedStorage.cs
- ProcessStartInfo.cs
- RuleSetDialog.cs
- SQLBytesStorage.cs
- SiteMapDataSourceView.cs
- JsonClassDataContract.cs
- ReadOnlyCollectionBase.cs
- ServicesUtilities.cs
- _HelperAsyncResults.cs
- PenCursorManager.cs
- ControlEvent.cs
- ValidationResult.cs
- FunctionImportMapping.cs
- SqlDataSourceConfigureSelectPanel.cs
- ListViewCommandEventArgs.cs
- DataBoundControlActionList.cs
- ResourceExpressionBuilder.cs
- ListBox.cs
- TextProperties.cs
- ListParagraph.cs
- CompletionCallbackWrapper.cs
- BindingParameterCollection.cs
- GroupPartitionExpr.cs
- CategoryNameCollection.cs
- RepeatInfo.cs
- SeekStoryboard.cs
- SQLBytesStorage.cs
- XPathDocument.cs
- CurrencyManager.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- DataObjectSettingDataEventArgs.cs
- BindingValueChangedEventArgs.cs
- UIElementIsland.cs
- SqlCaseSimplifier.cs
- XmlSchemaAttributeGroupRef.cs
- FontClient.cs
- ThreadPool.cs
- CodeExpressionStatement.cs
- SingleAnimationBase.cs
- StringInfo.cs