95 lines
2.8 KiB
C#
95 lines
2.8 KiB
C#
|
//------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//------------------------------------------------------------
|
||
|
namespace System.ServiceModel
|
||
|
{
|
||
|
using System.ComponentModel;
|
||
|
using System.ServiceModel.Configuration;
|
||
|
using System.Xml;
|
||
|
|
||
|
[TypeConverter(typeof(ReliableMessagingVersionConverter))]
|
||
|
public abstract class ReliableMessagingVersion
|
||
|
{
|
||
|
XmlDictionaryString dictionaryNs;
|
||
|
string ns;
|
||
|
|
||
|
// Do not initialize directly, this constructor is for derived classes.
|
||
|
internal ReliableMessagingVersion(string ns, XmlDictionaryString dictionaryNs)
|
||
|
{
|
||
|
this.ns = ns;
|
||
|
this.dictionaryNs = dictionaryNs;
|
||
|
}
|
||
|
|
||
|
public static ReliableMessagingVersion Default
|
||
|
{
|
||
|
get { return System.ServiceModel.Channels.ReliableSessionDefaults.ReliableMessagingVersion; }
|
||
|
}
|
||
|
|
||
|
public static ReliableMessagingVersion WSReliableMessaging11
|
||
|
{
|
||
|
get { return WSReliableMessaging11Version.Instance; }
|
||
|
}
|
||
|
|
||
|
public static ReliableMessagingVersion WSReliableMessagingFebruary2005
|
||
|
{
|
||
|
get { return WSReliableMessagingFebruary2005Version.Instance; }
|
||
|
}
|
||
|
|
||
|
internal XmlDictionaryString DictionaryNamespace
|
||
|
{
|
||
|
get { return this.dictionaryNs; }
|
||
|
}
|
||
|
|
||
|
internal string Namespace
|
||
|
{
|
||
|
get { return this.ns; }
|
||
|
}
|
||
|
|
||
|
internal static bool IsDefined(ReliableMessagingVersion reliableMessagingVersion)
|
||
|
{
|
||
|
return (reliableMessagingVersion == WSReliableMessaging11)
|
||
|
|| (reliableMessagingVersion == WSReliableMessagingFebruary2005);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class WSReliableMessaging11Version : ReliableMessagingVersion
|
||
|
{
|
||
|
static ReliableMessagingVersion instance = new WSReliableMessaging11Version();
|
||
|
|
||
|
WSReliableMessaging11Version()
|
||
|
: base(Wsrm11Strings.Namespace, DXD.Wsrm11Dictionary.Namespace)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
internal static ReliableMessagingVersion Instance
|
||
|
{
|
||
|
get { return instance; }
|
||
|
}
|
||
|
|
||
|
public override string ToString()
|
||
|
{
|
||
|
return "WSReliableMessaging11";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class WSReliableMessagingFebruary2005Version : ReliableMessagingVersion
|
||
|
{
|
||
|
WSReliableMessagingFebruary2005Version()
|
||
|
: base(WsrmFeb2005Strings.Namespace, XD.WsrmFeb2005Dictionary.Namespace)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
static ReliableMessagingVersion instance = new WSReliableMessagingFebruary2005Version();
|
||
|
|
||
|
internal static ReliableMessagingVersion Instance
|
||
|
{
|
||
|
get { return instance; }
|
||
|
}
|
||
|
|
||
|
public override string ToString()
|
||
|
{
|
||
|
return "WSReliableMessagingFebruary2005";
|
||
|
}
|
||
|
}
|
||
|
}
|