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
- StylusButtonCollection.cs
- AccessDataSourceView.cs
- AppDomainUnloadedException.cs
- SqlDeflator.cs
- ICspAsymmetricAlgorithm.cs
- XComponentModel.cs
- CompensationToken.cs
- MailMessageEventArgs.cs
- DbConnectionPoolCounters.cs
- WebBrowserUriTypeConverter.cs
- SafeFindHandle.cs
- DesignerToolboxInfo.cs
- DispatcherExceptionFilterEventArgs.cs
- SchemaNamespaceManager.cs
- AQNBuilder.cs
- FormsAuthenticationUser.cs
- SettingsSavedEventArgs.cs
- NullEntityWrapper.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- GZipStream.cs
- CompiledRegexRunner.cs
- UIntPtr.cs
- ClientScriptManagerWrapper.cs
- ListViewGroup.cs
- Divide.cs
- MobileRedirect.cs
- Accessible.cs
- Main.cs
- WmlListAdapter.cs
- HttpPostedFile.cs
- DbParameterHelper.cs
- MembershipValidatePasswordEventArgs.cs
- DataGridViewDataErrorEventArgs.cs
- InputLanguageCollection.cs
- DataBinder.cs
- CompilationAssemblyInstallComponent.cs
- DataGridColumn.cs
- QilStrConcatenator.cs
- SrgsText.cs
- TextBoxAutoCompleteSourceConverter.cs
- DataGridViewRowStateChangedEventArgs.cs
- ExtensionWindow.cs
- SafeThreadHandle.cs
- StrokeCollectionDefaultValueFactory.cs
- DataRelation.cs
- JsonWriterDelegator.cs
- ConfigurationFileMap.cs
- XmlSchemaIdentityConstraint.cs
- PageTheme.cs
- TextBoxBase.cs
- TraceUtils.cs
- QuaternionAnimationBase.cs
- JoinTreeSlot.cs
- DataSet.cs
- BaseProcessor.cs
- QueryCursorEventArgs.cs
- GcSettings.cs
- View.cs
- StatusBar.cs
- DesignerLabelAdapter.cs
- ResetableIterator.cs
- TableItemProviderWrapper.cs
- EllipticalNodeOperations.cs
- XmlSchemaImporter.cs
- cryptoapiTransform.cs
- ExecutionContext.cs
- Int32Collection.cs
- Utility.cs
- DeploymentSection.cs
- FieldReference.cs
- RequestResizeEvent.cs
- StylusEditingBehavior.cs
- CustomSignedXml.cs
- UpdateEventArgs.cs
- ValidatedControlConverter.cs
- RuleCache.cs
- GcSettings.cs
- TreeViewImageKeyConverter.cs
- ControlValuePropertyAttribute.cs
- QueryActivatableWorkflowsCommand.cs
- UnsafeNativeMethods.cs
- SamlAuthorityBinding.cs
- StdValidatorsAndConverters.cs
- WebPartsPersonalization.cs
- ListBindableAttribute.cs
- Permission.cs
- ReadOnlyCollection.cs
- FontStyles.cs
- ResourceDescriptionAttribute.cs
- XmlDataLoader.cs
- SmtpMail.cs
- ToolstripProfessionalRenderer.cs
- HttpModuleActionCollection.cs
- SafeRightsManagementSessionHandle.cs
- ColorConvertedBitmapExtension.cs
- DbSourceCommand.cs
- Interop.cs
- _DigestClient.cs
- DataServiceConfiguration.cs
- PageRequestManager.cs