Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Messaging / IdentifierElement.cs / 1 / IdentifierElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // Define theelement that lives in an element // inside an header using System; using System.ServiceModel; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; using Microsoft.Transactions.Wsat.Protocol; namespace Microsoft.Transactions.Wsat.Messaging { abstract class IdentifierElement : IXmlSerializable { string identifier; CoordinationStrings coordinationStrings; public IdentifierElement(ProtocolVersion protocolVersion) : this(protocolVersion, null) {} public IdentifierElement(ProtocolVersion protocolVersion, string identifier) { this.identifier = identifier; this.coordinationStrings = CoordinationStrings.Version(protocolVersion); } public string Identifier { get { return this.identifier; } } void IXmlSerializable.ReadXml(XmlReader reader) { this.identifier = reader.ReadElementString(this.coordinationStrings.Identifier, this.coordinationStrings.Namespace).Trim(); } void IXmlSerializable.WriteXml(XmlWriter writer) { writer.WriteValue(this.identifier); } XmlSchema IXmlSerializable.GetSchema() { return null; } public static IdentifierElement Instance(string identifier, ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(IdentifierElement), "V"); //assert valid protocol version switch (protocolVersion) { case ProtocolVersion.Version10 : return new IdentifierElement10(identifier); case ProtocolVersion.Version11 : return new IdentifierElement11(identifier); default : return null; // inaccessible path because we have asserted the protocol version } } } [XmlRoot(ElementName = CoordinationExternalStrings.Identifier, Namespace = CoordinationExternal10Strings.Namespace)] class IdentifierElement10 : IdentifierElement { public IdentifierElement10() : this(null) {} public IdentifierElement10(string identifier) : base(ProtocolVersion.Version10, identifier) {} } [XmlRoot(ElementName = CoordinationExternalStrings.Identifier, Namespace = CoordinationExternal11Strings.Namespace)] class IdentifierElement11 : IdentifierElement { public IdentifierElement11() : this(null) {} public IdentifierElement11(string identifier) : base(ProtocolVersion.Version11, identifier) {} } } // 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
- PermissionRequestEvidence.cs
- ArcSegment.cs
- TableLayoutPanel.cs
- SettingsSection.cs
- MiniCustomAttributeInfo.cs
- DateTimeOffset.cs
- CodeDomLoader.cs
- MetadataCacheItem.cs
- NativeCompoundFileAPIs.cs
- ConditionChanges.cs
- RoutedEventConverter.cs
- Error.cs
- UnsafeNativeMethods.cs
- SqlOuterApplyReducer.cs
- DataGridViewCheckBoxColumn.cs
- ResolvedKeyFrameEntry.cs
- XmlJsonReader.cs
- InheritanceAttribute.cs
- Document.cs
- StorageComplexPropertyMapping.cs
- SqlDataAdapter.cs
- DrawingVisualDrawingContext.cs
- StylusPointProperties.cs
- CngProperty.cs
- PeerInvitationResponse.cs
- HwndAppCommandInputProvider.cs
- FrameworkContentElement.cs
- WsatServiceAddress.cs
- TableHeaderCell.cs
- IISMapPath.cs
- FormsAuthentication.cs
- SQLBinary.cs
- BamlTreeMap.cs
- CodeMemberMethod.cs
- XmlNodeList.cs
- ListSortDescriptionCollection.cs
- ItemCollection.cs
- DataGridViewComboBoxColumn.cs
- WebPartCollection.cs
- IndicShape.cs
- EditorAttribute.cs
- FloaterBaseParagraph.cs
- TextChangedEventArgs.cs
- SQLInt32.cs
- RectAnimation.cs
- ControlUtil.cs
- ProfileGroupSettings.cs
- CallId.cs
- HttpTransportBindingElement.cs
- ProxySimple.cs
- XPathConvert.cs
- EdmEntityTypeAttribute.cs
- QilDataSource.cs
- SrgsGrammar.cs
- RegexTree.cs
- ProcessHostFactoryHelper.cs
- StrongNameMembershipCondition.cs
- SafeCertificateStore.cs
- StringDictionary.cs
- FontSourceCollection.cs
- UseLicense.cs
- ColumnPropertiesGroup.cs
- UnsafeMethods.cs
- StylusButton.cs
- ActivityDesignerHelper.cs
- Events.cs
- SwitchAttribute.cs
- SingleConverter.cs
- SelectionRangeConverter.cs
- ToolZone.cs
- ExceptionUtility.cs
- HttpModulesSection.cs
- DelimitedListTraceListener.cs
- IxmlLineInfo.cs
- RoleService.cs
- ColorAnimation.cs
- ExpressionBuilderContext.cs
- InvokePattern.cs
- TextPointer.cs
- WebDescriptionAttribute.cs
- EventDescriptor.cs
- SchemaEntity.cs
- Ports.cs
- CollectionCodeDomSerializer.cs
- FixedSOMTableCell.cs
- WebServiceClientProxyGenerator.cs
- LayoutManager.cs
- securitycriticaldata.cs
- XmlQualifiedName.cs
- _IPv6Address.cs
- DataException.cs
- XPathExpr.cs
- MediaPlayerState.cs
- ContentFileHelper.cs
- ToolStripItemImageRenderEventArgs.cs
- OracleConnectionStringBuilder.cs
- CellCreator.cs
- MexHttpBindingElement.cs
- DictionaryBase.cs
- InvalidCommandTreeException.cs