Code:
/ 4.0 / 4.0 / 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) { DictionarywrittenMappings = 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. 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
- StringPropertyBuilder.cs
- UriTemplateTrieLocation.cs
- ReturnEventArgs.cs
- EditorPart.cs
- EncoderExceptionFallback.cs
- HtmlValidationSummaryAdapter.cs
- SmtpMail.cs
- GridSplitter.cs
- SelectionChangedEventArgs.cs
- ProfilePropertyMetadata.cs
- DetailsViewPagerRow.cs
- HyperLinkDataBindingHandler.cs
- GridViewActionList.cs
- DataGridViewComboBoxCell.cs
- ContentControl.cs
- TemplatedMailWebEventProvider.cs
- LayoutTable.cs
- HtmlTextArea.cs
- DesignerLinkAdapter.cs
- ByeMessageApril2005.cs
- DbConnectionInternal.cs
- PriorityRange.cs
- DataControlFieldHeaderCell.cs
- StatusBar.cs
- SecurityElement.cs
- CodeAttributeArgument.cs
- ScriptingProfileServiceSection.cs
- Point4DConverter.cs
- ProcessHostMapPath.cs
- SaveFileDialog.cs
- WpfPayload.cs
- ReturnType.cs
- TextElementAutomationPeer.cs
- SqlMultiplexer.cs
- ThicknessConverter.cs
- CSharpCodeProvider.cs
- Utils.cs
- QueryContinueDragEvent.cs
- RadioButton.cs
- GridViewPageEventArgs.cs
- ToolStripDropDownClosedEventArgs.cs
- DependencyPropertyValueSerializer.cs
- XmlNodeWriter.cs
- Pointer.cs
- Serializer.cs
- IDispatchConstantAttribute.cs
- WindowsComboBox.cs
- DbProviderFactoriesConfigurationHandler.cs
- MsmqHostedTransportConfiguration.cs
- LessThanOrEqual.cs
- XmlILIndex.cs
- PhysicalFontFamily.cs
- DefaultCommandConverter.cs
- ApplicationHost.cs
- BindingContext.cs
- HandlerWithFactory.cs
- CorrelationManager.cs
- HwndMouseInputProvider.cs
- DbFunctionCommandTree.cs
- MetadataCacheItem.cs
- FtpWebResponse.cs
- DataGridPagerStyle.cs
- HtmlInputRadioButton.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- BaseCodePageEncoding.cs
- HttpHeaderCollection.cs
- ButtonChrome.cs
- Instrumentation.cs
- SetterTriggerConditionValueConverter.cs
- BufferedResponseStream.cs
- RuleSetReference.cs
- SimplePropertyEntry.cs
- IImplicitResourceProvider.cs
- InputProviderSite.cs
- SQLString.cs
- columnmapfactory.cs
- ProxyAttribute.cs
- XmlNullResolver.cs
- ComboBoxAutomationPeer.cs
- PathSegment.cs
- ZoomingMessageFilter.cs
- QuotedPrintableStream.cs
- TextDecoration.cs
- GeometryValueSerializer.cs
- CustomAttributeBuilder.cs
- SafeFileHandle.cs
- ViewManagerAttribute.cs
- TreeNodeEventArgs.cs
- RangeContentEnumerator.cs
- LinqDataView.cs
- UrlAuthFailedErrorFormatter.cs
- FacetDescriptionElement.cs
- CharacterMetricsDictionary.cs
- OleDbParameter.cs
- SqlProfileProvider.cs
- ResourceExpression.cs
- SqlCacheDependencyDatabase.cs
- GroupDescription.cs
- AppModelKnownContentFactory.cs
- RawMouseInputReport.cs