Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Messaging / XmlStrings.cs / 1 / XmlStrings.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
// Define any additional strings needed for wire representations of WS-C/AT
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Transactions;
using System.Xml;
using Microsoft.Transactions.Wsat.Protocol;
namespace Microsoft.Transactions.Wsat.Messaging
{
static class WSAtomicTransactionStrings
{
//
// Protocol conversion
//
public static ControlProtocol WellKnownNameToProtocol(string name, ProtocolVersion protocolVersion)
{
AtomicTransactionStrings atomicTransactionStrings = AtomicTransactionStrings.Version(protocolVersion);
if(name == atomicTransactionStrings.CompletionUri)
{
return ControlProtocol.Completion;
}
else if(name == atomicTransactionStrings.Durable2PCUri)
{
return ControlProtocol.Durable2PC;
}
else if(name == atomicTransactionStrings.Volatile2PCUri)
{
return ControlProtocol.Volatile2PC;
}
else
{
return ControlProtocol.None;
}
}
public static XmlDictionaryString ProtocolToWellKnownName(ControlProtocol ctrlProt, ProtocolVersion protocolVersion)
{
AtomicTransactionXmlDictionaryStrings atomicTransactionXmlDictionaryStrings =
AtomicTransactionXmlDictionaryStrings.Version(protocolVersion);
switch (ctrlProt)
{
case ControlProtocol.Completion:
return atomicTransactionXmlDictionaryStrings.CompletionUri;
case ControlProtocol.Durable2PC:
return atomicTransactionXmlDictionaryStrings.Durable2PCUri;
case ControlProtocol.Volatile2PC:
return atomicTransactionXmlDictionaryStrings.Volatile2PCUri;
default:
// An invalid Enum value on this internal code path indicates
// a product bug and violates assumptions about
// valid values in MSDTC.
DiagnosticUtility.FailFast("Invalid protocol");
return null; // Keep the compiler happy
}
}
}
static class BindingStrings
{
public const string AddressPrefix = "WsatService";
public const string InteropBindingName = "Interop";
public const string NamedPipeBindingName = "NamedPipe";
public const string WindowsBindingName = "Windows";
static readonly string InteropBindingQName10 =
new XmlQualifiedName(InteropBindingName, AtomicTransactionExternal10Strings.Namespace).ToString();
static readonly string InteropBindingQName11 =
new XmlQualifiedName(InteropBindingName, AtomicTransactionExternal11Strings.Namespace).ToString();
public static string InteropBindingQName(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "InteropBindingQName"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10 :
return InteropBindingQName10;
case ProtocolVersion.Version11 :
return InteropBindingQName11;
default :
return null; // inaccessible path because we have asserted the protocol version
}
}
public static readonly string NamedPipeBindingQName =
new XmlQualifiedName(NamedPipeBindingName, DotNetAtomicTransactionExternalStrings.Namespace).ToString();
public static readonly string WindowsBindingQName =
new XmlQualifiedName(WindowsBindingName, DotNetAtomicTransactionExternalStrings.Namespace).ToString();
public const string RemoteProxySuffix = "Remote/";
public const string DisabledSuffix = "Disabled/";
public static string ActivationCoordinatorSuffix(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "ActivationCoordinatorSuffix"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10:
return "Activation/Coordinator/";
case ProtocolVersion.Version11:
return "Activation/Coordinator11/";
default:
return null; // inaccessible path because we have asserted the protocol version
}
}
public static string RegistrationCoordinatorSuffix(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "RegistrationCoordinatorSuffix"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10:
return "Registration/Coordinator/";
case ProtocolVersion.Version11:
return "Registration/Coordinator11/";
default:
return null; // inaccessible path because we have asserted the protocol version
}
}
public static string CompletionCoordinatorSuffix(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "CompletionCoordinatorSuffix"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10:
return "Completion/Coordinator/";
case ProtocolVersion.Version11:
return "Completion/Coordinator11/";
default:
return null; // inaccessible path because we have asserted the protocol version
}
}
public static string CompletionParticipantSuffix(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "CompletionParticipantSuffix"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10:
return "Completion/Participant/";
case ProtocolVersion.Version11:
return "Completion/Participant11/";
default:
return null; // inaccessible path because we have asserted the protocol version
}
}
public static string TwoPhaseCommitCoordinatorSuffix(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "TwoPhaseCommitCoordinatorSuffix"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10:
return "TwoPhaseCommit/Coordinator/";
case ProtocolVersion.Version11:
return "TwoPhaseCommit/Coordinator11/";
default:
return null; // inaccessible path because we have asserted the protocol version
}
}
public static string TwoPhaseCommitParticipantSuffix(ProtocolVersion protocolVersion)
{
ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, typeof(BindingStrings), "TwoPhaseCommitParticipantSuffix"); //assert valid protocol version
switch (protocolVersion)
{
case ProtocolVersion.Version10:
return "TwoPhaseCommit/Participant/";
case ProtocolVersion.Version11:
return "TwoPhaseCommit/Participant11/";
default:
return null; // inaccessible path because we have asserted the protocol version
}
}
}
}
// 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
- FamilyTypeface.cs
- SplitterEvent.cs
- EUCJPEncoding.cs
- LogLogRecordEnumerator.cs
- TextRangeProviderWrapper.cs
- Positioning.cs
- XhtmlBasicObjectListAdapter.cs
- BitmapEffect.cs
- HelpHtmlBuilder.cs
- CompilationPass2TaskInternal.cs
- Matrix3DConverter.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- QueryOptionExpression.cs
- LayoutTable.cs
- EngineSite.cs
- SafeLocalMemHandle.cs
- NamedElement.cs
- XsdDataContractImporter.cs
- Decimal.cs
- GeneralTransform2DTo3DTo2D.cs
- Style.cs
- ResourceContainerWrapper.cs
- Stacktrace.cs
- FileSystemWatcher.cs
- PathGradientBrush.cs
- RelationshipDetailsCollection.cs
- Point.cs
- TrackingStringDictionary.cs
- DbDataRecord.cs
- KeyedHashAlgorithm.cs
- TextServicesCompartment.cs
- EntityDataSourceWrapperCollection.cs
- MsmqOutputSessionChannel.cs
- MouseBinding.cs
- MediaPlayerState.cs
- OleDbMetaDataFactory.cs
- PackageDigitalSignature.cs
- AppDomainShutdownMonitor.cs
- ItemDragEvent.cs
- SiteMapDataSource.cs
- IndexerNameAttribute.cs
- HttpCookiesSection.cs
- MILUtilities.cs
- XmlComplianceUtil.cs
- DesignerDataSourceView.cs
- DoubleAnimationUsingKeyFrames.cs
- DocumentOrderQuery.cs
- ToolStripItemImageRenderEventArgs.cs
- DataSourceExpression.cs
- EventHandlingScope.cs
- BamlTreeMap.cs
- RuntimeHelpers.cs
- HandleExceptionArgs.cs
- UnsafeNativeMethods.cs
- ProvideValueServiceProvider.cs
- UIElementCollection.cs
- AsyncDataRequest.cs
- EntityStoreSchemaGenerator.cs
- PageClientProxyGenerator.cs
- SqlAggregateChecker.cs
- DetailsViewDeleteEventArgs.cs
- Brushes.cs
- PageSettings.cs
- MatrixAnimationUsingKeyFrames.cs
- CancellationHandler.cs
- SymbolType.cs
- ServiceContractAttribute.cs
- BrowserTree.cs
- MarkerProperties.cs
- TextCollapsingProperties.cs
- UnsafeMethods.cs
- CompareValidator.cs
- InputReferenceExpression.cs
- ImmutableAssemblyCacheEntry.cs
- TreeBuilder.cs
- SystemIPv4InterfaceProperties.cs
- HtmlControlPersistable.cs
- TraceSource.cs
- TextTreeUndoUnit.cs
- PropertyPathConverter.cs
- SessionStateUtil.cs
- CornerRadius.cs
- SystemColors.cs
- WinFormsUtils.cs
- AnnotationAdorner.cs
- TargetControlTypeAttribute.cs
- JsonQueryStringConverter.cs
- FaultHandlingFilter.cs
- PropertyMetadata.cs
- CharacterBufferReference.cs
- RectAnimationUsingKeyFrames.cs
- DatePickerAutomationPeer.cs
- MessageAction.cs
- OptimalBreakSession.cs
- ListViewInsertedEventArgs.cs
- MemberRestriction.cs
- HashHelper.cs
- GetImportedCardRequest.cs
- WindowsGrip.cs
- HostProtectionException.cs