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
- BitmapSizeOptions.cs
- SqlUtil.cs
- MsmqBindingElementBase.cs
- HttpWebRequestElement.cs
- ComponentRenameEvent.cs
- JavascriptCallbackMessageInspector.cs
- MediaPlayerState.cs
- StreamUpdate.cs
- OdbcError.cs
- ProfileParameter.cs
- XmlDataCollection.cs
- GraphicsPath.cs
- RTLAwareMessageBox.cs
- DataGridViewCellValueEventArgs.cs
- XsltArgumentList.cs
- WorkflowServiceBehavior.cs
- OdbcReferenceCollection.cs
- SemaphoreFullException.cs
- PropertyPath.cs
- DataGridViewSelectedRowCollection.cs
- CookieProtection.cs
- WindowsTab.cs
- VisualTarget.cs
- AsmxEndpointPickerExtension.cs
- mediaclock.cs
- baseaxisquery.cs
- _CookieModule.cs
- SemanticValue.cs
- BmpBitmapEncoder.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- WinEventQueueItem.cs
- MatrixAnimationUsingPath.cs
- Interlocked.cs
- XhtmlBasicTextBoxAdapter.cs
- ControlParameter.cs
- SimpleFileLog.cs
- BuildManagerHost.cs
- IntSecurity.cs
- TrustManagerPromptUI.cs
- TextTreeDeleteContentUndoUnit.cs
- ErrorFormatterPage.cs
- WinFormsUtils.cs
- SpecialNameAttribute.cs
- StyleSelector.cs
- Geometry.cs
- C14NUtil.cs
- TargetControlTypeAttribute.cs
- LogStore.cs
- KeyFrames.cs
- FontFamilyConverter.cs
- Property.cs
- EntityAdapter.cs
- TextBox.cs
- RtfToken.cs
- TextBoxLine.cs
- TreeWalker.cs
- DbResourceAllocator.cs
- ServerIdentity.cs
- SafeMILHandle.cs
- WaitForChangedResult.cs
- BitmapPalettes.cs
- ModelItem.cs
- DataGridComponentEditor.cs
- ScaleTransform3D.cs
- XmlWhitespace.cs
- IdleTimeoutMonitor.cs
- IDReferencePropertyAttribute.cs
- EngineSiteSapi.cs
- CompilationLock.cs
- Viewport2DVisual3D.cs
- CodeCommentStatementCollection.cs
- SortedList.cs
- PostBackTrigger.cs
- Deflater.cs
- XmlSchemaSubstitutionGroup.cs
- Timer.cs
- codemethodreferenceexpression.cs
- ElementNotEnabledException.cs
- RegexCaptureCollection.cs
- CompiledXpathExpr.cs
- PointAnimationUsingKeyFrames.cs
- CodeDomConfigurationHandler.cs
- RoamingStoreFileUtility.cs
- DataGridViewRowPrePaintEventArgs.cs
- TraceListener.cs
- WorkBatch.cs
- PeerToPeerException.cs
- GregorianCalendar.cs
- XPathDocumentBuilder.cs
- Util.cs
- SessionStateItemCollection.cs
- ConcurrentBag.cs
- FormsAuthenticationCredentials.cs
- Globals.cs
- Span.cs
- HttpRawResponse.cs
- MessageContractExporter.cs
- GraphicsContainer.cs
- ArithmeticException.cs
- EventlogProvider.cs