Browse Source

Added Preliminary Test #7 (Caching of the Db request) and concurrent generation of Random Ids.

Kevin Howard 12 years ago
parent
commit
7bb32f3948
48 changed files with 6304 additions and 318 deletions
  1. BIN
      servicestack/lib/AWSSDK.1.5.28.3/AWSSDK.1.5.28.3.nupkg
  2. 17 0
      servicestack/lib/AWSSDK.1.5.28.3/AWSSDK.1.5.28.3.nuspec
  3. BIN
      servicestack/lib/AWSSDK.1.5.28.3/lib/AWSSDK.dll
  4. BIN
      servicestack/lib/EnyimMemcached.2.12/EnyimMemcached.2.12.nupkg
  5. 14 0
      servicestack/lib/EnyimMemcached.2.12/EnyimMemcached.2.12.nuspec
  6. BIN
      servicestack/lib/EnyimMemcached.2.12/lib/net35/Enyim.Caching.dll
  7. BIN
      servicestack/lib/EnyimMemcached.2.12/lib/net35/Enyim.Caching.pdb
  8. 2032 0
      servicestack/lib/EnyimMemcached.2.12/lib/net35/Enyim.Caching.xml
  9. BIN
      servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/ServiceStack.Caching.AwsDynamoDb.3.9.55.nupkg
  10. 24 0
      servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/ServiceStack.Caching.AwsDynamoDb.3.9.55.nuspec
  11. BIN
      servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/lib/ServiceStack.CacheAccess.AwsDynamoDb.dll
  12. BIN
      servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/lib/ServiceStack.CacheAccess.AwsDynamoDb.pdb
  13. BIN
      servicestack/lib/ServiceStack.Caching.Azure.3.9.55/ServiceStack.Caching.Azure.3.9.55.nupkg
  14. 24 0
      servicestack/lib/ServiceStack.Caching.Azure.3.9.55/ServiceStack.Caching.Azure.3.9.55.nuspec
  15. BIN
      servicestack/lib/ServiceStack.Caching.Azure.3.9.55/lib/ServiceStack.CacheAccess.Azure.dll
  16. 25 0
      servicestack/lib/ServiceStack.Caching.Azure.3.9.55/lib/ServiceStack.CacheAccess.Azure.dll.config
  17. BIN
      servicestack/lib/ServiceStack.Caching.Azure.3.9.55/lib/ServiceStack.CacheAccess.Azure.pdb
  18. BIN
      servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/ServiceStack.Caching.Memcached.3.9.55.nupkg
  19. 24 0
      servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/ServiceStack.Caching.Memcached.3.9.55.nuspec
  20. BIN
      servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/lib/ServiceStack.CacheAccess.Memcached.dll
  21. BIN
      servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/lib/ServiceStack.CacheAccess.Memcached.pdb
  22. BIN
      servicestack/lib/ServiceStack.Redis.3.9.57/ServiceStack.Redis.3.9.57.nupkg
  23. 23 0
      servicestack/lib/ServiceStack.Redis.3.9.57/ServiceStack.Redis.3.9.57.nuspec
  24. 1355 0
      servicestack/lib/ServiceStack.Redis.3.9.57/lib/net35/ServiceStack.Redis.XML
  25. BIN
      servicestack/lib/ServiceStack.Redis.3.9.57/lib/net35/ServiceStack.Redis.dll
  26. BIN
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/WindowsAzure.Caching.1.7.0.0.nupkg
  27. 17 0
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/WindowsAzure.Caching.1.7.0.0.nuspec
  28. 30 0
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/content/app.config.Transform
  29. 38 0
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/content/web.config.Transform
  30. BIN
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Client.dll
  31. 868 0
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Client.xml
  32. BIN
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Core.dll
  33. 920 0
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Core.xml
  34. BIN
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.Web.DistributedCache.dll
  35. BIN
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.WindowsFabric.Common.dll
  36. BIN
      servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.WindowsFabric.Data.Common.dll
  37. 15 1
      servicestack/src/AppHost.cs
  38. 54 27
      servicestack/src/Model/World.cs
  39. 72 0
      servicestack/src/SafeRandom.cs
  40. 6 1
      servicestack/src/SelfHost/App.config
  41. 191 0
      servicestack/src/Service/MySqlService.cs
  42. 192 0
      servicestack/src/Service/PostgreSqlService.cs
  43. 99 0
      servicestack/src/Service/Services.cs
  44. 192 0
      servicestack/src/Service/SqlServerService.cs
  45. 35 3
      servicestack/src/ServiceStackBenchmark.csproj
  46. 0 284
      servicestack/src/Services.cs
  47. 30 1
      servicestack/src/Web.config
  48. 7 1
      servicestack/src/packages.config

BIN
servicestack/lib/AWSSDK.1.5.28.3/AWSSDK.1.5.28.3.nupkg


+ 17 - 0
servicestack/lib/AWSSDK.1.5.28.3/AWSSDK.1.5.28.3.nuspec

@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+  <metadata>
+    <id>AWSSDK</id>
+    <version>1.5.28.3</version>
+    <title>AWS SDK for .NET</title>
+    <authors>Amazon Web Services</authors>
+    <owners>Amazon Web Services</owners>
+    <licenseUrl>http://aws.amazon.com/apache2.0/</licenseUrl>
+    <projectUrl>http://aws.amazon.com/sdkfornet/</projectUrl>
+    <iconUrl>http://media.amazonwebservices.com/aws_singlebox_01.png</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>Build applications that tap into the cost-effective, scalable, and reliable AWS cloud. Get started in minutes using AWS infrastructure services, including Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), and Amazon SimpleDB.</description>
+    <language>en-US</language>
+    <tags>AWS Amazon cloud</tags>
+  </metadata>
+</package>

BIN
servicestack/lib/AWSSDK.1.5.28.3/lib/AWSSDK.dll


BIN
servicestack/lib/EnyimMemcached.2.12/EnyimMemcached.2.12.nupkg


+ 14 - 0
servicestack/lib/EnyimMemcached.2.12/EnyimMemcached.2.12.nuspec

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+  <metadata>
+    <id>EnyimMemcached</id>
+    <version>2.12</version>
+    <authors>Attila Kiskó</authors>
+    <owners>Attila Kiskó</owners>
+    <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
+    <projectUrl>https://github.com/enyim/EnyimMemcached</projectUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>Memcached client library for .NET based languages.</description>
+    <tags>memcached enyim cache caching</tags>
+  </metadata>
+</package>

BIN
servicestack/lib/EnyimMemcached.2.12/lib/net35/Enyim.Caching.dll


BIN
servicestack/lib/EnyimMemcached.2.12/lib/net35/Enyim.Caching.pdb


+ 2032 - 0
servicestack/lib/EnyimMemcached.2.12/lib/net35/Enyim.Caching.xml

@@ -0,0 +1,2032 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Enyim.Caching</name>
+    </assembly>
+    <members>
+        <member name="T:Enyim.Caching.Configuration.FactoryElement`1">
+            <summary>
+            This element is used to define locator/transcoder/keyTransformer instances. It also provides custom initializations for them using a factory.
+            </summary>
+            <typeparam name="TFactory"></typeparam>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.FactoryElement`1.CreateInstance">
+            <summary>
+            Creates the provider by using the factory (if present) or directly instantiating by type name
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.FactoryElement`1.Factory">
+            <summary>
+            Gets or sets the type of the factory.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.FailImmediatelyPolicy">
+            <summary>
+            Fails a node immediately when an error occures. This is the default policy.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.FailImmediatelyPolicyFactory">
+            <summary>
+            Creates instances of <see cref="T:FailImmediatelyPolicy"/>.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.ThrottlingFailurePolicy">
+            <summary>
+            Fails a node when the specified number of failures happen in a specified time window.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ThrottlingFailurePolicy.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Creates a new instance of <see cref="T:ThrottlingFailurePolicy"/>.
+            </summary>
+            <param name="resetAfter">Specifies the time in milliseconds how long a node should function properly to reset its failure counter.</param>
+            <param name="failureThreshold">Specifies the number of failures that must occur in the specified time window to fail a node.</param>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.ThrottlingFailurePolicyFactory">
+            <summary>
+            Creates instances of <see cref="T:ThrottlingFailurePolicy"/>.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IProviderFactory`1">
+            <summary>
+            Provides a way for custom initalization of the providers (locators, transcoders, key transformers)
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.ThrottlingFailurePolicyFactory.ResetAfter">
+            <summary>
+            Gets or sets the amount of time of in milliseconds after the failure counter is reset.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.ThrottlingFailurePolicyFactory.FailureThreshold">
+            <summary>
+            Gets or sets the number of failures that must happen in a time window to make a node marked as failed.
+            </summary>
+        </member>
+        <member name="T:Enyim.Collections.InterlockedStack`1">
+            <summary>
+            Implements a non-locking stack.
+            </summary>
+            <typeparam name="TItem"></typeparam>
+        </member>
+        <member name="T:Enyim.Reflection.FastActivator">
+            <summary>
+            <para>Implements a very fast object factory for dynamic object creation. Dynamically generates a factory class which will use the new() constructor of the requested type.</para>
+            <para>Much faster than using Activator at the price of the first invocation being significantly slower than subsequent calls.</para>
+            </summary>
+        </member>
+        <member name="M:Enyim.Reflection.FastActivator.Create``1">
+            <summary>
+            Creates an instance of the specified type using a generated factory to avoid using Reflection.
+            </summary>
+            <typeparam name="T">The type to be created.</typeparam>
+            <returns>The newly created instance.</returns>
+        </member>
+        <member name="M:Enyim.Reflection.FastActivator.Create(System.Type)">
+            <summary>
+            Creates an instance of the specified type using a generated factory to avoid using Reflection.
+            </summary>
+            <param name="type">The type to be created.</param>
+            <returns>The newly created instance.</returns>
+        </member>
+        <member name="T:Enyim.Caching.ILogFactory">
+            <summary>
+            Implement this interface to instantiate your custom ILog implementation
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.ILog">
+            <summary>
+            The ILog interface is used by the client to log messages.
+            </summary>
+            <remarks>Use the <see cref="T:Enyim.Caching.LogManager" /> class to programmatically assign logger implementations.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.LogManager">
+            <summary>
+            Creates loggers based on the current configuration.
+            </summary>
+            <example>
+            
+            Config file:
+            
+            <configuration>
+            	<configSections>
+            		<sectionGroup name="enyim.com">
+            			<section name="log" type="Enyim.Caching.EnyimLoggerSection, Enyim.Caching" />
+            		</sectionGroup>
+            	</configSections>
+            	<enyim.com>
+            		<log factory="Enyim.Caching.Log4NetLoggerFactory, Enyim.Caching" />
+            	</enyim.com>
+            </configuration>
+            
+            Code:
+            
+            	LogManager.AssignFactory(new Log4NetLogFactory());
+            
+            </example>
+        </member>
+        <member name="M:Enyim.Caching.LogManager.AssignFactory(Enyim.Caching.ILogFactory)">
+            <summary>
+            Assigns a new logger factory programmatically.
+            </summary>
+            <param name="factory"></param>
+        </member>
+        <member name="M:Enyim.Caching.LogManager.GetLogger(System.Type)">
+            <summary>
+            Returns a new logger for the specified Type.
+            </summary>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.LogManager.GetLogger(System.String)">
+            <summary>
+            Returns a logger with the specified name.
+            </summary>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.IAuthenticationConfiguration">
+            <summary>
+            Defines an interface for configuring the authentication paramaters the <see cref="T:MemcachedClient"/>.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IAuthenticationConfiguration.Type">
+            <summary>
+            Gets or sets the type of the <see cref="T:Enyim.Caching.Memcached.IAuthenticationProvider"/> which will be used authehticate the connections to the Memcached nodes.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IAuthenticationConfiguration.Parameters">
+            <summary>
+            Gets or sets the parameters passed to the authenticator instance.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.AuthenticationElement">
+            <summary>
+            Configures the authentication settings for Memcached servers.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.AuthenticationElement.Type">
+            <summary>
+            Gets or sets the type of the <see cref="T:Enyim.Caching.Memcached.IAuthenticationProvider"/> which will be used authehticate the connections to the Memcached nodes.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.EndPointElement">
+            <summary>
+            Represents a configuration element that contains a Memcached node address. This class cannot be inherited. 
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.EndPointElement.Address">
+            <summary>
+            Gets or sets the ip address of the node.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.EndPointElement.Port">
+            <summary>
+            Gets or sets the port of the node.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.EndPointElement.EndPoint">
+            <summary>
+            Gets the <see cref="T:IPEndPoint"/> representation of this instance.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.EndPointElementCollection">
+            <summary>
+            Represents a collection of <see cref="T:EndPointElement"/> instances. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.EndPointElementCollection.CreateNewElement">
+            <summary>
+            Creates a new <see cref="T:ConfigurationElement"/>.
+            </summary>
+            <returns>A new <see cref="T:ConfigurationElement"/>.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.EndPointElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
+            <summary>
+            Gets the element key for a specified configuration element when overridden in a derived class.
+            </summary>
+            <param name="element">The <see cref="T:ConfigurationElement"/> to return the key for. </param>
+            <returns>An <see cref="T:Object"/> that acts as the key for the specified <see cref="T:ConfigurationElement"/>.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.EndPointElementCollection.ToIPEndPointCollection">
+            <summary>
+            Helper method; converts the collection into an <see cref="T:IPEndPoint"/> collection for the interface implementation.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.IMemcachedClientConfiguration">
+            <summary>
+            Defines an interface for configuring the <see cref="T:MemcachedClient"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.IMemcachedClientConfiguration.CreateKeyTransformer">
+            <summary>
+            Creates an <see cref="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer"/> instance which will be used to convert item keys for Memcached.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.IMemcachedClientConfiguration.CreateNodeLocator">
+            <summary>
+            Creates an <see cref="T:Enyim.Caching.Memcached.IMemcachedNodeLocator"/> instance which will be used to assign items to Memcached nodes.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.IMemcachedClientConfiguration.CreateTranscoder">
+            <summary>
+            Creates an <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> instance which will be used to serialize or deserialize items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IMemcachedClientConfiguration.Servers">
+            <summary>
+            Gets a list of <see cref="T:IPEndPoint"/> each representing a Memcached server in the pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IMemcachedClientConfiguration.SocketPool">
+            <summary>
+            Gets the configuration of the socket pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IMemcachedClientConfiguration.Authentication">
+            <summary>
+            Gets the authentication settings.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.ISocketPoolConfiguration">
+            <summary>
+            Defines an interface for configuring the socket pool for the <see cref="T:MemcachedClient"/>.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.MinPoolSize">
+            <summary>
+            Gets or sets a value indicating the minimum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The minimum amount of sockets per server in the socket pool.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.MaxPoolSize">
+            <summary>
+            Gets or sets a value indicating the maximum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The maximum amount of sockets per server in the socket pool.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.ConnectionTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the connection attempt will fail.
+            </summary>
+            <returns>The value of the connection timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.QueueTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the getting a connection from the pool will fail.
+            </summary>
+            <returns>The value of the queue timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.ReceiveTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which receiving data from the socket will fail.
+            </summary>
+            <returns>The value of the receive timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.DeadTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which an unresponsive (dead) server will be checked if it is working.
+            </summary>
+            <returns>The value of the dead timeout.</returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.MemcachedClientConfiguration">
+            <summary>
+            Configuration class
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientConfiguration.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientConfiguration"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientConfiguration.AddServer(System.String)">
+            <summary>
+            Adds a new server to the pool.
+            </summary>
+            <param name="address">The address and the port of the server in the format 'host:port'.</param>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientConfiguration.AddServer(System.String,System.Int32)">
+            <summary>
+            Adds a new server to the pool.
+            </summary>
+            <param name="address">The host name or IP address of the server.</param>
+            <param name="port">The port number of the memcached instance.</param>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Servers">
+            <summary>
+            Gets a list of <see cref="T:IPEndPoint"/> each representing a Memcached server in the pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.SocketPool">
+            <summary>
+            Gets the configuration of the socket pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Authentication">
+            <summary>
+            Gets the authentication settings.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.KeyTransformer">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer"/> which will be used to convert item keys for Memcached.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.NodeLocator">
+            <summary>
+            Gets or sets the Type of the <see cref="T:Enyim.Caching.Memcached.IMemcachedNodeLocator"/> which will be used to assign items to Memcached nodes.
+            </summary>
+            <remarks>If both <see cref="M:NodeLocator"/> and  <see cref="M:NodeLocatorFactory"/> are assigned then the latter takes precedence.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.NodeLocatorFactory">
+            <summary>
+            Gets or sets the NodeLocatorFactory instance which will be used to create a new IMemcachedNodeLocator instances.
+            </summary>
+            <remarks>If both <see cref="M:NodeLocator"/> and  <see cref="M:NodeLocatorFactory"/> are assigned then the latter takes precedence.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Transcoder">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> which will be used serialize or deserialize items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.PerformanceMonitor">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IPerformanceMonitor"/> instance which will be used monitor the performance of the client.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Protocol">
+            <summary>
+            Gets or sets the type of the communication between client and server.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.MemcachedClientSection">
+            <summary>
+            Configures the <see cref="T:MemcachedClient"/>. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientSection.PostDeserialize">
+            <summary>
+            Called after deserialization.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Servers">
+            <summary>
+            Returns a collection of Memcached servers which can be used by the client.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.SocketPool">
+            <summary>
+            Gets or sets the configuration of the socket pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Authentication">
+            <summary>
+            Gets or sets the configuration of the authenticator.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.NodeLocator">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IMemcachedNodeLocator"/> which will be used to assign items to Memcached nodes.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.KeyTransformer">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer"/> which will be used to convert item keys for Memcached.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Transcoder">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> which will be used serialzie or deserialize items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.PerformanceMonitor">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IPerformanceMonitor"/> which will be used monitor the performance of the client.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Protocol">
+            <summary>
+            Gets or sets the type of the communication between client and server.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.ProviderElement`1">
+            <summary>
+            This element is used to define locator/transcoder/keyTransformer instances. It also provides custom initializations for them using a factory.
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.ProviderElement`1.CreateInstance">
+            <summary>
+            Creates the provider by using the factory (if present) or directly instantiating by type name
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ProviderElement`1.Type">
+            <summary>
+            Gets or sets the type of the provider.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ProviderElement`1.Factory">
+            <summary>
+            Gets or sets the type of the provider factory.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolConfiguration.Enyim#Caching#Configuration#ISocketPoolConfiguration#MaxPoolSize">
+            <summary>
+            Gets or sets a value indicating the maximum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The maximum amount of sockets per server in the socket pool. The default is 20.</returns>
+            <remarks>It should be 0.75 * (number of threads) for optimal performance.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.SocketPoolElement">
+            <summary>
+            Configures the socket pool settings for Memcached servers.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.SocketPoolElement.PostDeserialize">
+            <summary>
+            Called after deserialization.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.MinPoolSize">
+            <summary>
+            Gets or sets a value indicating the minimum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The minimum amount of sockets per server in the socket pool.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.MaxPoolSize">
+            <summary>
+            Gets or sets a value indicating the maximum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The maximum amount of sockets per server in the socket pool. The default is 20.</returns>
+            <remarks>It should be 0.75 * (number of threads) for optimal performance.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.ConnectionTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the connection attempt will fail.
+            </summary>
+            <returns>The value of the connection timeout. The default is 10 seconds.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.QueueTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the getting a connection from the pool will fail. The default is 100 msec.
+            </summary>
+            <returns>The value of the queue timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.ReceiveTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which receiving data from the socket fails.
+            </summary>
+            <returns>The value of the receive timeout. The default is 10 seconds.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.DeadTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which an unresponsive (dead) server will be checked if it is working.
+            </summary>
+            <returns>The value of the dead timeout. The default is 10 secs.</returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.TextElement">
+            <summary>
+            CDATA config element
+            </summary>
+        </member>
+        <member name="T:Enyim.HashkitCrc32">
+            <summary>
+            CRC-32 implementation. Compatible with libhashkit.
+            </summary>
+        </member>
+        <member name="T:Enyim.HashkitMurmur">
+            <summary>
+            Murmur hash. Uses the same seed values as libhashkit.
+            </summary>
+            <remarks>Does not support block based hashing.</remarks>
+        </member>
+        <member name="T:Enyim.HashkitOneAtATime">
+            <summary>
+            This is Jenkin's "One at A time Hash".
+            http://en.wikipedia.org/wiki/Jenkins_hash_function
+            
+            Coming from libhashkit.
+            </summary>
+            <remarks>Does not support block based hashing.</remarks>
+        </member>
+        <member name="T:Enyim.HashCodeCombiner">
+            <summary>
+            Combines multiple hash codes into one.
+            </summary>
+        </member>
+        <member name="T:Enyim.Collections.InterlockedQueue`1">
+            <summary>
+            Implements a non-locking queue.
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Enyim.Collections.InterlockedQueue`1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:InterlockedQueue"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Collections.InterlockedQueue`1.Dequeue(`0@)">
+            <summary>
+            Removes and returns the item at the beginning of the <see cref="T:InterlockedQueue"/>.
+            </summary>
+            <param name="value">The object that is removed from the beginning of the <see cref="T:InterlockedQueue"/>.</param>
+            <returns><value>true</value> if an item was successfully dequeued; otherwise <value>false</value>.</returns>
+        </member>
+        <member name="M:Enyim.Collections.InterlockedQueue`1.Enqueue(`0)">
+            <summary>
+            Adds an object to the end of the <see cref="T:InterlockedQueue"/>.
+            </summary>
+            <param name="value">The item to be added to the <see cref="T:InterlockedQueue"/>. The value can be <value>null</value>.</param>
+        </member>
+        <member name="T:Enyim.FNV64">
+            <summary>
+            Implements a 64 bit long FNV1 hash.
+            </summary>
+            <remarks>
+            Calculation found at http://lists.danga.com/pipermail/memcached/2007-April/003846.html, but 
+            it is pretty much available everywhere
+            </remarks>
+        </member>
+        <member name="M:Enyim.FNV64.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FNV64"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV64.Initialize">
+            <summary>
+            Initializes an instance of <see cref="T:FNV64"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV64.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV64" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="M:Enyim.FNV64.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:FNV64" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.FNV64a">
+            <summary>
+            Implements a 64 bit long FVNV1a hash.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV64a.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV64" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="T:Enyim.FNV1">
+            <summary>
+            Implements an FNV1 hash algorithm.
+            </summary>
+        </member>
+        <member name="F:Enyim.FNV1.CurrentHashValue">
+            <summary>
+            The current hash value.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FNV1a"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1.Initialize">
+            <summary>
+            Initializes an instance of <see cref="T:FNV1a"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV1a" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="M:Enyim.FNV1.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:FNV1a" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.FNV1a">
+            <summary>
+            Implements an FNV1a hash algorithm.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1a.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV1a" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="T:Enyim.ModifiedFNV">
+            <summary>
+            Implements a modified FNV hash. Provides better distribution than FNV1 but it's only 32 bit long.
+            </summary>
+            <remarks>Algorithm found at http://bretm.home.comcast.net/hash/6.html</remarks>
+        </member>
+        <member name="M:Enyim.ModifiedFNV.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:ModifiedFNV" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.Caching.NullLoggerFactory">
+            <summary>
+            Creates an empty logger. Used when no other factories are installed.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.MemcachedClient">
+            <summary>
+            Memcached client.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.IMemcachedResultsClient">
+            <summary>
+            Interface for API methods that return detailed operation results
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.MemcachedClient.Infinite">
+            <summary>
+            Represents a value which indicates that an item should never expire.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.#ctor">
+            <summary>
+            Initializes a new MemcachedClient instance using the default configuration section (enyim/memcached).
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.#ctor(System.String)">
+            <summary>
+            Initializes a new MemcachedClient instance using the specified configuration section. 
+            This overload allows to create multiple MemcachedClients with different pool configurations.
+            </summary>
+            <param name="sectionName">The name of the configuration section to be used for configuring the behavior of the client.</param>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.#ctor(Enyim.Caching.Configuration.IMemcachedClientConfiguration)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClient"/> using the specified configuration instance.
+            </summary>
+            <param name="configuration">The client configuration.</param>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Get(System.String)">
+            <summary>
+            Retrieves the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <returns>The retrieved item, or <value>null</value> if the key was not found.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Get``1(System.String)">
+            <summary>
+            Retrieves the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <returns>The retrieved item, or <value>default(T)</value> if the key was not found.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.TryGet(System.String,System.Object@)">
+            <summary>
+            Tries to get an item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <param name="value">The retrieved item or null if not found.</param>
+            <returns>The <value>true</value> if the item was successfully retrieved.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Store(Enyim.Caching.Memcached.StoreMode,System.String,System.Object)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure.</remarks>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Store(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.TimeSpan)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Store(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.DateTime)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure.</remarks>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.TimeSpan,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.DateTime,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure. The text protocol does not support this operation, you need to Store then GetWithCas.</remarks>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.TimeSpan)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.DateTime)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.TimeSpan,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.DateTime,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.TimeSpan)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.DateTime)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.TimeSpan,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.DateTime,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Append(System.String,System.ArraySegment{System.Byte})">
+            <summary>
+            Appends the data to the end of the specified item's data on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="data">The data to be appended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Prepend(System.String,System.ArraySegment{System.Byte})">
+            <summary>
+            Inserts the data before the specified item's data on the server.
+            </summary>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Append(System.String,System.UInt64,System.ArraySegment{System.Byte})">
+            <summary>
+            Appends the data to the end of the specified item's data on the server, but only if the item's version matches the CAS value provided.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <param name="data">The data to be prepended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Prepend(System.String,System.UInt64,System.ArraySegment{System.Byte})">
+            <summary>
+            Inserts the data before the specified item's data on the server, but only if the item's version matches the CAS value provided.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <param name="data">The data to be prepended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.FlushAll">
+            <summary>
+            Removes all data from the cache. Note: this will invalidate all data on all servers in the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Stats">
+            <summary>
+            Returns statistics about the servers.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Remove(System.String)">
+            <summary>
+            Removes the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to delete.</param>
+            <returns>true if the item was successfully removed from the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Get(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Retrieves multiple items from the cache.
+            </summary>
+            <param name="keys">The list of identifiers for the items to retrieve.</param>
+            <returns>a Dictionary holding all items indexed by their key.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.SafeWaitAllAndDispose(System.Threading.WaitHandle[])">
+            <summary>
+            Waits for all WaitHandles and works in both STA and MTA mode.
+            </summary>
+            <param name="waitHandles"></param>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Dispose">
+            <summary>
+            Releases all resources allocated by this instance
+            </summary>
+            <remarks>You should only call this when you are not using static instances of the client, so it can close all conections and release the sockets.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteStore(Enyim.Caching.Memcached.StoreMode,System.String,System.Object)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure.</remarks>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteStore(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.TimeSpan)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteStore(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.DateTime)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteCas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure. The text protocol does not support this operation, you need to Store then GetWithCas.</remarks>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteCas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure.</remarks>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteCas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.TimeSpan,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteCas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.DateTime,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteGet(System.String)">
+            <summary>
+            Retrieves the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <returns>The retrieved item, or <value>null</value> if the key was not found.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteTryGet(System.String,System.Object@)">
+            <summary>
+            Tries to get an item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <param name="value">The retrieved item or null if not found.</param>
+            <returns>The <value>true</value> if the item was successfully retrieved.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteGet``1(System.String)">
+            <summary>
+            Retrieves the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <returns>The retrieved item, or <value>default(T)</value> if the key was not found.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteGet(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Retrieves multiple items from the cache.
+            </summary>
+            <param name="keys">The list of identifiers for the items to retrieve.</param>
+            <returns>a Dictionary holding all items indexed by their key.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteIncrement(System.String,System.UInt64,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteIncrement(System.String,System.UInt64,System.UInt64,System.TimeSpan)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteIncrement(System.String,System.UInt64,System.UInt64,System.DateTime)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteIncrement(System.String,System.UInt64,System.UInt64,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteIncrement(System.String,System.UInt64,System.UInt64,System.TimeSpan,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteIncrement(System.String,System.UInt64,System.UInt64,System.DateTime,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteDecrement(System.String,System.UInt64,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteDecrement(System.String,System.UInt64,System.UInt64,System.TimeSpan)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteDecrement(System.String,System.UInt64,System.UInt64,System.DateTime)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteDecrement(System.String,System.UInt64,System.UInt64,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteDecrement(System.String,System.UInt64,System.UInt64,System.TimeSpan,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteDecrement(System.String,System.UInt64,System.UInt64,System.DateTime,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteAppend(System.String,System.ArraySegment{System.Byte})">
+            <summary>
+            Appends the data to the end of the specified item's data on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="data">The data to be appended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteAppend(System.String,System.UInt64,System.ArraySegment{System.Byte})">
+            <summary>
+            Appends the data to the end of the specified item's data on the server, but only if the item's version matches the CAS value provided.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <param name="data">The data to be prepended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecutePrepend(System.String,System.ArraySegment{System.Byte})">
+            <summary>
+            Inserts the data before the specified item's data on the server.
+            </summary>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecutePrepend(System.String,System.UInt64,System.ArraySegment{System.Byte})">
+            <summary>
+            Inserts the data before the specified item's data on the server, but only if the item's version matches the CAS value provided.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <param name="data">The data to be prepended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.ExecuteRemove(System.String)">
+            <summary>
+            Removes the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to delete.</param>
+            <returns>true if the item was successfully removed from the cache; false otherwise.</returns>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.PooledSocket.InstanceId">
+            <summary>
+            The ID of this instance. Used by the <see cref="T:MemcachedServer"/> to identify the instance in its inner lists.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.Destroy">
+            <summary>
+            Releases all resources used by this instance and shuts down the inner <see cref="T:Socket"/>. This instance will not be usable anymore.
+            </summary>
+            <remarks>Use the IDisposable.Dispose method if you want to release this instance back into the pool.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.ReadByte">
+            <summary>
+            Reads the next byte from the server's response.
+            </summary>
+            <remarks>This method blocks and will not return until the value is read.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from the server into the specified buffer.
+            </summary>
+            <param name="buffer">An array of <see cref="T:System.Byte"/> that is the storage location for the received data.</param>
+            <param name="offset">The location in buffer to store the received data.</param>
+            <param name="count">The number of bytes to read.</param>
+            <remarks>This method blocks and will not return until the specified amount of bytes are read.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.ReceiveAsync(Enyim.Caching.Memcached.AsyncIOArgs)">
+            <summary>
+            Receives data asynchronously. Returns true if the IO is pending. Returns false if the socket already failed or the data was available in the buffer.
+            p.Next will only be called if the call completes asynchronously.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.PooledSocket.AsyncSocketHelper">
+            <summary>
+            Supports exactly one reader and writer, but they can do IO concurrently
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.AsyncSocketHelper.Read(Enyim.Caching.Memcached.AsyncIOArgs)">
+            <summary>
+            returns true if io is pending
+            </summary>
+            <param name="p"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.AsyncSocketHelper.EndReceive">
+            <summary>
+            returns true when io is pending
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.PlainTextAuthenticator">
+            <summary>
+            Implements the default plain text ("PLAIN") Memcached authentication.
+            </summary>
+            <remarks>Either use the parametrized constructor, or pass the "userName" and "password" parameters during initalization.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.ISaslAuthenticationProvider">
+            <summary>
+            Provides the base interface for Memcached SASL authentication.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.CommandNotSupportedException">
+            <summary>
+            The exception that is thrown when a command is not supported by the Memcached server.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.MemcachedClientException">
+            <summary>
+            The exception that is thrown when a client error occures during communicating with the Memcached servers.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.MemcachedException">
+            <summary>
+            The exception that is thrown when an unknown error occures in the <see cref="T:MemcachedClient"/>
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class with a specified error message.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class with serialized data.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class with a specified error message.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class with serialized data.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class with a specified error message.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class with serialized data.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IServerPool">
+            <summary>
+            Provides custom server pool implementations
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer">
+            <summary>
+            Converts Memcached item keys into a custom format.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedKeyTransformer.Transform(System.String)">
+            <summary>
+            Performs the transformation.
+            </summary>
+            <param name="key">The key to be transformed.</param>
+            <returns>the transformed key.</returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IMemcachedNodeLocator">
+            <summary>
+            Defines a locator class which maps item keys to memcached servers.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedNodeLocator.Initialize(System.Collections.Generic.IList{Enyim.Caching.Memcached.IMemcachedNode})">
+            <summary>
+            Initializes the locator.
+            </summary>
+            <param name="nodes">The memcached nodes defined in the configuration.</param>
+            <remarks>This called first when the server pool is initialized, and subsequently every time 
+            when a node goes down or comes back. If your locator has its own logic to deal with dead nodes 
+            then ignore all calls but the first. Otherwise make sure that your implementation can handle 
+            simultaneous calls to Initialize and Locate in a thread safe manner.</remarks>
+            <seealso cref="T:DefaultNodeLocator"/>
+            <seealso cref="T:KetamaNodeLocator"/>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedNodeLocator.Locate(System.String)">
+            <summary>
+            Returns the memcached node the specified key belongs to.
+            </summary>
+            <param name="key">The key of the item to be located.</param>
+            <returns>The <see cref="T:MemcachedNode"/> the specifed item belongs to</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedNodeLocator.GetWorkingNodes">
+            <summary>
+            Returns all the working nodes currently available to the locator.
+            </summary>
+            <remarks>It should return an instance which is safe to enumerate multiple times and provides the same results every time.</remarks>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Base64KeyTransformer">
+            <summary>
+            A key transformer which converts the item keys into Base64.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.SHA1KeyTransformer">
+            <summary>
+            A key transformer which converts the item keys into their SHA1 hash.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.TigerHashKeyTransformer">
+            <summary>
+            A key transformer which converts the item keys into their Tiger hash.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.KetamaNodeLocatorFactory">
+            <summary>
+            Implements Ketama cosistent hashing, compatible with the "spymemcached" Java client
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.DefaultNodeLocator">
+            <summary>
+            This is a ketama-like consistent hashing based node locator. Used when no other <see cref="T:IMemcachedNodeLocator"/> is specified for the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.DefaultNodeLocator.FindNode(System.String)">
+            <summary>
+            locates a node by its key
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.KetamaNodeLocator">
+            <summary>
+            Implements Ketama cosistent hashing, compatible with the "spymemcached" Java client
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.KetamaNodeLocator.#ctor">
+            <summary>
+            Initialized a new instance of the <see cref="T:Enyim.Caching.Memcached.KetamaNodeLocator"/> using the default hash algorithm.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.KetamaNodeLocator.#ctor(System.String)">
+            <summary>
+            Initialized a new instance of the <see cref="T:Enyim.Caching.Memcached.KetamaNodeLocator"/> using a custom hash algorithm.
+            </summary>
+            <param name="hashName">The name of the hash algorithm to use.
+            <list type="table">
+            <listheader><term>Name</term><description>Description</description></listheader>
+            <item><term>md5</term><description>Equivalent of System.Security.Cryptography.MD5</description></item>
+            <item><term>sha1</term><description>Equivalent of System.Security.Cryptography.SHA1</description></item>
+            <item><term>tiger</term><description>Tiger Hash</description></item>
+            <item><term>crc</term><description>CRC32</description></item>
+            <item><term>fnv1_32</term><description>FNV Hash 32bit</description></item>
+            <item><term>fnv1_64</term><description>FNV Hash 64bit</description></item>
+            <item><term>fnv1a_32</term><description>Modified FNV Hash 32bit</description></item>
+            <item><term>fnv1a_64</term><description>Modified FNV Hash 64bit</description></item>
+            <item><term>murmur</term><description>Murmur Hash</description></item>
+            <item><term>oneatatime</term><description>Jenkin's "One at A time Hash"</description></item>
+            </list>
+            </param>
+            <remarks>If the hashName does not match any of the item on the list it will be passed to HashAlgorithm.Create.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.KetamaNodeLocator.LookupData">
+            <summary>
+            this will encapsulate all the indexes we need for lookup
+            so the instance can be reinitialized without locking
+            in case an IMemcachedConfig implementation returns the same instance form the CreateLocator()
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.SingleNodeLocator">
+            <summary>
+            This is a simple node locator with no computation overhead, always returns the first server from the list. Use only in single server deployments.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.VBucketNodeLocator">
+            <summary>
+            Implements a vbucket based node locator.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.VBucketNodeLocatorFactory">
+            <summary>
+            Factory for the vbucket based locator.
+            </summary>
+            <remarks>You need to use this in the configuration file because this is the only way pass parameters to the VBucketNodeLocator.
+            
+            	<locator factory="Enyim.Caching.Memcached.VBucketNodeLocatorFactory" configFile="vbucket.json" />
+            
+            </remarks>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.MemcachedNode">
+            <summary>
+            Represents a Memcached node in the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.Ping">
+            <summary>
+            Gets a value indicating whether the server is working or not.
+            
+            If the server is back online, we'll ercreate the internal socket pool and mark the server as alive so operations can target it.
+            </summary>
+            <returns>true if the server is alive; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.Acquire">
+            <summary>
+            Acquires a new item from the pool
+            </summary>
+            <returns>An <see cref="T:PooledSocket"/> instance which is connected to the memcached server, or <value>null</value> if the pool is dead.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.Dispose">
+            <summary>
+            Releases all resources allocated by this instance
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.MemcachedNode.EndPoint">
+            <summary>
+            Gets the <see cref="T:IPEndPoint"/> of this instance
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.MemcachedNode.IsAlive">
+            <summary>
+            <para>Gets a value indicating whether the server is working or not. Returns a <b>cached</b> state.</para>
+            <para>To get real-time information and update the cached state, use the <see cref="M:Ping"/> method.</para>
+            </summary>
+            <remarks>Used by the <see cref="T:ServerPool"/> to quickly check if the server's state is valid.</remarks>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.freeItems">
+            <summary>
+            A list of already connected but free to use sockets
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.Acquire">
+            <summary>
+            Acquires a new item from the pool
+            </summary>
+            <returns>An <see cref="T:PooledSocket"/> instance which is connected to the memcached server, or <value>null</value> if the pool is dead.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.ReleaseSocket(Enyim.Caching.Memcached.PooledSocket)">
+            <summary>
+            Releases an item back into the pool
+            </summary>
+            <param name="socket"></param>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.Dispose">
+            <summary>
+            Releases all resources allocated by this instance
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IOperation.ReadResponseAsync(Enyim.Caching.Memcached.PooledSocket,System.Action{System.Boolean})">
+            <summary>
+            'next' is called when the operation completes. The bool parameter indicates the success of the operation.
+            </summary>
+            <param name="socket"></param>
+            <param name="next"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.ISingleItemOperation.CasValue">
+            <summary>
+            The CAS value returned by the server after executing the command.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.MultiItemOperation">
+            <summary>
+            Base class for implementing operations working with multiple items.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Operation">
+            <summary>
+            Base class for implementing operations.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.BinaryNode">
+            <summary>
+            A node which is used by the BinaryPool. It implements the binary protocol's SASL auth. mechanism.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Binary.BinaryNode.CreateSocket">
+            <summary>
+            Authenticates the new socket before it is put into the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Binary.BinaryNode.Auth(Enyim.Caching.Memcached.PooledSocket)">
+            <summary>
+            Implements memcached's SASL auth sequence. (See the protocol docs for more details.)
+            </summary>
+            <param name="socket"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.BinaryOperationFactory">
+            <summary>
+            Memcached client.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.BinaryPool">
+            <summary>
+            Server pool implementing the binary protocol.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Binary.BinaryResponse.ReadAsync(Enyim.Caching.Memcached.PooledSocket,System.Action{System.Boolean},System.Boolean@)">
+            <summary>
+            Reads the response from the socket asynchronously.
+            </summary>
+            <param name="socket">The socket to read from.</param>
+            <param name="next">The delegate whihc will continue processing the response. This is only called if the read completes asynchronoulsy.</param>
+            <param name="ioPending">Set totrue if the read is still pending when ReadASync returns. In this case 'next' will be called when the read is finished.</param>
+            <returns>
+            If the socket is already dead, ReadAsync returns false, next is not called, ioPending = false
+            If the read completes synchronously (e.g. data is received from the buffer), it returns true/false depending on the StatusCode, and ioPending is set to true, 'next' will not be called.
+            It returns true if it has to read from the socket, so the operation will complate asynchronously at a later time. ioPending will be true, and 'next' will be called to handle the data
+            </returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.SingleItemOperation">
+            <summary>
+            Base class for implementing operations working with keyed items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.Protocol.SingleItemOperation.Enyim#Caching#Memcached#ISingleItemOperation#Key">
+            <summary>
+            The item key of the current operation.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.ConcatOperation">
+            <summary>
+            Implements append/prepend.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.SaslContinue">
+            <summary>
+            SASL auth step.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.SaslStart">
+            <summary>
+            Starts the SASL auth sequence.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Text.TextSocketHelper.ReadResponse(Enyim.Caching.Memcached.PooledSocket)">
+            <summary>
+            Reads the response of the server.
+            </summary>
+            <returns>The data sent by the memcached server.</returns>
+            <exception cref="T:System.InvalidOperationException">The server did not sent a response or an empty line was returned.</exception>
+            <exception cref="T:Enyim.Caching.Memcached.MemcachedException">The server did not specified any reason just returned the string ERROR. - or - The server returned a SERVER_ERROR, in this case the Message of the exception is the message returned by the server.</exception>
+            <exception cref="T:Enyim.Caching.Memcached.MemcachedClientException">The server did not recognize the request sent by the client. The Message of the exception is the message returned by the server.</exception>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Text.TextSocketHelper.ReadLine(Enyim.Caching.Memcached.PooledSocket)">
+            <summary>
+            Reads a line from the socket. A line is terninated by \r\n.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Text.TextSocketHelper.GetCommandBuffer(System.String)">
+            <summary>
+            Gets the bytes representing the specified command. returned buffer can be used to streamline multiple writes into one Write on the Socket
+            using the <see cref="M:Enyim.Caching.Memcached.PooledSocket.Write(IList&lt;ArraySegment&lt;byte&gt;&gt;)"/>
+            </summary>
+            <param name="value">The command to be converted.</param>
+            <returns>The buffer containing the bytes representing the command. The command must be terminated by \r\n.</returns>
+            <remarks>The Nagle algorithm is disabled on the socket to speed things up, so it's recommended to convert a command into a buffer
+            and use the <see cref="M:Enyim.Caching.Memcached.PooledSocket.Write(IList&lt;ArraySegment&lt;byte&gt;&gt;)"/> to send the command and the additional buffers in one transaction.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.Results.IOperationResult.Success">
+            <summary>
+            A value indicating whether an operation was successful
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.Results.IOperationResult.Message">
+            <summary>
+            A message indicating success, warning or failure reason for an operation
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.Results.IOperationResult.Exception">
+            <summary>
+            An exception that caused a failure
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.Results.IOperationResult.StatusCode">
+            <summary>
+            The StatusCode returned from the server
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.Results.IOperationResult.InnerResult">
+            <summary>
+            A result that influenced the current result
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Results.Extensions.OperationResultExtensions.Fail(Enyim.Caching.Memcached.Results.IOperationResult,System.String,System.Exception)">
+            <summary>
+            Set the result Success to false
+            </summary>
+            <param name="source">Result to update</param>
+            <param name="message">Message indicating source of failure</param>
+            <param name="ex">Exception causing failure</param>
+            <returns>Updated source</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Results.Extensions.OperationResultExtensions.Pass(Enyim.Caching.Memcached.Results.IOperationResult,System.String)">
+            <summary>
+            Set the result Success to true
+            </summary>
+            <param name="source">Result to update</param>
+            <param name="message">Message indicating a possible warning</param>
+            <returns>Updated source</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Results.Extensions.OperationResultExtensions.Copy(Enyim.Caching.Memcached.Results.IOperationResult,Enyim.Caching.Memcached.Results.IOperationResult)">
+            <summary>
+            Copy properties from one IOperationResult to another.  Does not use reflection.
+            Ony LCD properties are copied
+            </summary>
+            <param name="target"></param>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Results.Extensions.OperationResultExtensions.PassOrFail(Enyim.Caching.Memcached.Results.IOperationResult,System.Boolean,System.String,System.Exception)">
+            <summary>
+            Copy properties from one IOperationResult to another.  Does not use reflection.
+            Ony LCD properties are copied
+            </summary>
+            <param name="target"></param>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Results.Extensions.OperationResultExtensions.Combine(Enyim.Caching.Memcached.Results.IOperationResult,Enyim.Caching.Memcached.Results.IOperationResult)">
+            <summary>
+            Combine will attempt to minimize the depth of InnerResults and maintain status codes
+            </summary>
+            <param name="target"></param>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.ServerStats">
+            <summary>
+            Represents the statistics of a Memcached node.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.ServerStats.All">
+            <summary>
+            Defines a value which indicates that the statstics should be retrieved for all servers in the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ServerStats.GetValue(System.Net.IPEndPoint,Enyim.Caching.Memcached.StatItem)">
+            <summary>
+            Gets a stat value for the specified server.
+            </summary>
+            <param name="server">The adress of the server. If <see cref="F:System.Net.IPAddress.Any"/> is specified it will return the sum of all server stat values.</param>
+            <param name="item">The stat to be returned</param>
+            <returns>The value of the specified stat item</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ServerStats.GetVersion(System.Net.IPEndPoint)">
+            <summary>
+            Returns the server of memcached running on the specified server.
+            </summary>
+            <param name="server">The adress of the server</param>
+            <returns>The version of memcached</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ServerStats.GetUptime(System.Net.IPEndPoint)">
+            <summary>
+            Returns the uptime of the specific server.
+            </summary>
+            <param name="server">The adress of the server</param>
+            <returns>A value indicating how long the server is running</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ServerStats.GetRaw(System.Net.IPEndPoint,System.String)">
+            <summary>
+            Returns the stat value for a specific server. The value is not converted but returned as the server returned it.
+            </summary>
+            <param name="server">The adress of the server</param>
+            <param name="key">The name of the stat value</param>
+            <returns>The value of the stat item</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ServerStats.GetRaw(System.Net.IPEndPoint,Enyim.Caching.Memcached.StatItem)">
+            <summary>
+            Returns the stat value for a specific server. The value is not converted but returned as the server returned it.
+            </summary>
+            <param name="server">The adress of the server</param>
+            <param name="item">The stat value to be returned</param>
+            <returns>The value of the stat item</returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.SlidingBuffer">
+            <summary>
+            Supports exactly one reader and writer, but they can access the buffer concurrently.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.StatItem">
+            <summary>
+            Represent a stat item returned by Memcached.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.Uptime">
+            <summary>
+            The number of seconds the server has been running.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.ServerTime">
+            <summary>
+            Current time according to the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.Version">
+            <summary>
+            The version of the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.ItemCount">
+            <summary>
+            The number of items stored by the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.TotalItems">
+            <summary>
+            The total number of items stored by the server including the ones whihc have been already evicted.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.ConnectionCount">
+            <summary>
+            Number of active connections to the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.TotalConnections">
+            <summary>
+            The total number of connections ever made to the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.ConnectionStructures">
+            <summary>
+            ?
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.GetCount">
+            <summary>
+            Number of get operations performed by the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.SetCount">
+            <summary>
+            Number of set operations performed by the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.GetHits">
+            <summary>
+            Cache hit.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.GetMisses">
+            <summary>
+            Cache miss.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.UsedBytes">
+            <summary>
+            ?
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.BytesRead">
+            <summary>
+            Number of bytes read from the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.BytesWritten">
+            <summary>
+            Number of bytes written to the server.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StatItem.MaxBytes">
+            <summary>
+            ?
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.StoreMode">
+            <summary>
+            Inidicates the mode how the items are stored in Memcached.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreMode.Add">
+            <summary>
+            Store the data, but only if the server does not already hold data for a given key
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreMode.Replace">
+            <summary>
+            Store the data, but only if the server does already hold data for a given key
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreMode.Set">
+            <summary>
+            Store the data, overwrite if already exist
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreCommand.Add">
+            <summary>
+            Store the data, but only if the server does not already hold data for a given key
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreCommand.Replace">
+            <summary>
+            Store the data, but only if the server does already hold data for a given key
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreCommand.Set">
+            <summary>
+            Store the data, overwrite if already exist
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreCommand.Append">
+            <summary>
+            Appends the data to an existing key's data
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreCommand.Prepend">
+            <summary>
+            Inserts the data before an existing key's data
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.StoreCommand.CheckAndSet">
+            <summary>
+            Stores the data only if it has not been updated by someone else. Uses a "transaction id" to check for modification.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.CacheItem">
+            <summary>
+            Represents an object either being retrieved from the cache
+            or being sent to the cache.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CacheItem.#ctor(System.UInt32,System.ArraySegment{System.Byte})">
+            <summary>
+            Initializes a new instance of <see cref="T:CacheItem"/>.
+            </summary>
+            <param name="flags">Custom item data.</param>
+            <param name="data">The serialized item.</param>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.CacheItem.Data">
+            <summary>
+            The data representing the item being stored/retireved.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.CacheItem.Flags">
+            <summary>
+            Flags set for this instance.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.DataContractTranscoder">
+            <summary>
+            Default <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> implementation. Primitive types are manually serialized, the rest is serialized using <see cref="T:System.Runtime.Serialization.NetDataContractSerializer"/>.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.DefaultTranscoder">
+            <summary>
+            Default <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> implementation. Primitive types are manually serialized, the rest is serialized using <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/>.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.ITranscoder">
+            <summary>
+            Provides an interface for serializing items for Memcached.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ITranscoder.Serialize(System.Object)">
+            <summary>
+            Serializes an object for storing in the cache.
+            </summary>
+            <param name="value">The object to serialize</param>
+            <returns>The serialized object</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.ITranscoder.Deserialize(Enyim.Caching.Memcached.CacheItem)">
+            <summary>
+            Deserializes the <see cref="T:CacheItem"/> into an object.
+            </summary>
+            <param name="item">The stream that contains the data to deserialize.</param>
+            <returns>The deserialized object</returns>
+        </member>
+        <member name="T:Enyim.TigerHash">
+            <summary>
+            Implements the Tiger hash. (http://www.cs.technion.ac.il/~biham/Reports/Tiger/)
+            
+            Ported (and cleaned&amp;sped up) from the Tiger.NET VB code. (http://www.hotpixel.net/software.html)
+            </summary>
+        </member>
+        <member name="M:Enyim.TigerHash.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:TigerHash"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.TigerHash.Initialize">
+            <summary>
+            Initializes an instance of <see cref="T:TigerHash"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.TigerHash.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:TigerHash" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="M:Enyim.TigerHash.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:TigerHash" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.Caching.UIntEqualityComparer">
+            <summary>
+            A fast comparer for dictionaries indexed by UInt. Faster than using Comparer.Default
+            </summary>
+        </member>
+    </members>
+</doc>

BIN
servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/ServiceStack.Caching.AwsDynamoDb.3.9.55.nupkg


+ 24 - 0
servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/ServiceStack.Caching.AwsDynamoDb.3.9.55.nuspec

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+  <metadata>
+    <id>ServiceStack.Caching.AwsDynamoDb</id>
+    <version>3.9.55</version>
+    <title>ServiceStack.Caching.AwsDynamoDb</title>
+    <authors>ServiceStack contributors</authors>
+    <owners>ServiceStack contributors</owners>
+    <licenseUrl>https://github.com/ServiceStack/ServiceStack/blob/master/LICENSE</licenseUrl>
+    <projectUrl>https://github.com/ServiceStack/ServiceStack.OrmLite</projectUrl>
+    <iconUrl>http://www.servicestack.net/logo-100x100.png</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>An Amazon Web Services In-Memory DynamoDb DataCache implementing ServiceStack's ICacheClient:
+        https://github.com/ServiceStack/ServiceStack/wiki/Caching</description>
+    <releaseNotes />
+    <copyright>ServiceStack 2013 and contributors</copyright>
+    <language>en-US</language>
+    <tags>ServiceStack Caching AwsDynamoDb Amazon WebServices AWS DynamoDb Cache CacheClient</tags>
+    <dependencies>
+      <dependency id="ServiceStack.Common" />
+      <dependency id="AWSSDK" />
+    </dependencies>
+  </metadata>
+</package>

BIN
servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/lib/ServiceStack.CacheAccess.AwsDynamoDb.dll


BIN
servicestack/lib/ServiceStack.Caching.AwsDynamoDb.3.9.55/lib/ServiceStack.CacheAccess.AwsDynamoDb.pdb


BIN
servicestack/lib/ServiceStack.Caching.Azure.3.9.55/ServiceStack.Caching.Azure.3.9.55.nupkg


+ 24 - 0
servicestack/lib/ServiceStack.Caching.Azure.3.9.55/ServiceStack.Caching.Azure.3.9.55.nuspec

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+  <metadata>
+    <id>ServiceStack.Caching.Azure</id>
+    <version>3.9.55</version>
+    <title>ServiceStack.Caching.Azure</title>
+    <authors>Manuel Nelson,  ServiceStack contributors</authors>
+    <owners>Manuel Nelson,  ServiceStack contributors</owners>
+    <licenseUrl>https://github.com/ServiceStack/ServiceStack/blob/master/LICENSE</licenseUrl>
+    <projectUrl>https://github.com/ServiceStack/ServiceStack.OrmLite</projectUrl>
+    <iconUrl>http://www.servicestack.net/logo-100x100.png</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>An Azure In-Memory DataCache implementing ServiceStack's ICacheClient:
+        https://github.com/ServiceStack/ServiceStack/wiki/Caching</description>
+    <releaseNotes />
+    <copyright>ServiceStack 2013 and contributors</copyright>
+    <language>en-US</language>
+    <tags>ServiceStack Caching Windows Azure Cache CacheClient POCO Code-First</tags>
+    <dependencies>
+      <dependency id="ServiceStack.Common" />
+      <dependency id="WindowsAzure.Caching" />
+    </dependencies>
+  </metadata>
+</package>

BIN
servicestack/lib/ServiceStack.Caching.Azure.3.9.55/lib/ServiceStack.CacheAccess.Azure.dll


+ 25 - 0
servicestack/lib/ServiceStack.Caching.Azure.3.9.55/lib/ServiceStack.CacheAccess.Azure.dll.config

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <!-- Append below entry to configSections. Do not overwrite the full section. -->
+    <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
+  </configSections>
+  <dataCacheClients>
+    <dataCacheClient name="default">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22233" />
+      </hosts>
+      <securityProperties mode="Message">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+    <dataCacheClient name="SslEndpoint">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22243" />
+      </hosts>
+      <securityProperties mode="Message" sslEnabled="true">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+  </dataCacheClients>
+</configuration>

BIN
servicestack/lib/ServiceStack.Caching.Azure.3.9.55/lib/ServiceStack.CacheAccess.Azure.pdb


BIN
servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/ServiceStack.Caching.Memcached.3.9.55.nupkg


+ 24 - 0
servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/ServiceStack.Caching.Memcached.3.9.55.nuspec

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+  <metadata>
+    <id>ServiceStack.Caching.Memcached</id>
+    <version>3.9.55</version>
+    <title>ServiceStack.Caching.Memcached</title>
+    <authors>Demis Bellot,  Thomas Grassauer and ServiceStack contributors</authors>
+    <owners>Demis Bellot,  Thomas Grassauer and ServiceStack contributors</owners>
+    <licenseUrl>https://github.com/ServiceStack/ServiceStack/blob/master/LICENSE</licenseUrl>
+    <projectUrl>https://github.com/ServiceStack/ServiceStack.OrmLite</projectUrl>
+    <iconUrl>http://www.servicestack.net/logo-100x100.png</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>An Memcached cache client implementing ServiceStack's ICacheClient:
+        https://github.com/ServiceStack/ServiceStack/wiki/Caching</description>
+    <releaseNotes />
+    <copyright>ServiceStack 2013 and contributors</copyright>
+    <language>en-US</language>
+    <tags>ServiceStack Caching Memcached Cache CacheClient POCO Code-First</tags>
+    <dependencies>
+      <dependency id="ServiceStack.Common" />
+      <dependency id="EnyimMemcached" version="2.12.0" />
+    </dependencies>
+  </metadata>
+</package>

BIN
servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/lib/ServiceStack.CacheAccess.Memcached.dll


BIN
servicestack/lib/ServiceStack.Caching.Memcached.3.9.55/lib/ServiceStack.CacheAccess.Memcached.pdb


BIN
servicestack/lib/ServiceStack.Redis.3.9.57/ServiceStack.Redis.3.9.57.nupkg


+ 23 - 0
servicestack/lib/ServiceStack.Redis.3.9.57/ServiceStack.Redis.3.9.57.nuspec

@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+  <metadata>
+    <id>ServiceStack.Redis</id>
+    <version>3.9.57</version>
+    <title>C# Redis client for the Redis NoSQL DB</title>
+    <authors>Demis Bellot</authors>
+    <owners>Demis Bellot</owners>
+    <licenseUrl>https://github.com/ServiceStack/ServiceStack.Redis/blob/master/LICENSE</licenseUrl>
+    <projectUrl>https://github.com/ServiceStack/ServiceStack.Redis</projectUrl>
+    <iconUrl>http://www.servicestack.net/logo-100x100.png</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>C# Redis Client for the worlds fastest distributed NoSQL datastore. Byte[], String and POCO Typed clients.
+      Thread-Safe Basic and Pooled client managers included.</description>
+    <releaseNotes />
+    <copyright>ServiceStack 2013 and contributors</copyright>
+    <language>en-US</language>
+    <tags>Redis NoSQL Client Distributed Cache PubSub Messaging Transactions</tags>
+    <dependencies>
+      <dependency id="ServiceStack.Common" />
+    </dependencies>
+  </metadata>
+</package>

+ 1355 - 0
servicestack/lib/ServiceStack.Redis.3.9.57/lib/net35/ServiceStack.Redis.XML

@@ -0,0 +1,1355 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>ServiceStack.Redis</name>
+    </assembly>
+    <members>
+        <member name="T:ServiceStack.Redis.BasicRedisClientManager">
+            <summary>
+            Provides thread-safe retrievel of redis clients since each client is a new one.
+            Allows the configuration of different ReadWrite and ReadOnly hosts
+            </summary>
+            <summary>
+            BasicRedisClientManager for ICacheClient
+            
+            For more interoperabilty I'm also implementing the ICacheClient on
+            this cache client manager which has the affect of calling 
+            GetCacheClient() for all write operations and GetReadOnlyCacheClient() 
+            for the read ones.
+            
+            This works well for master-slave replication scenarios where you have 
+            1 master that replicates to multiple read slaves.
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.BasicRedisClientManager.#ctor(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Hosts can be an IP Address or Hostname in the format: host[:port]
+            e.g. 127.0.0.1:6379
+            default is: localhost:6379
+            </summary>
+            <param name="readWriteHosts">The write hosts.</param>
+            <param name="readOnlyHosts">The read hosts.</param>
+        </member>
+        <member name="M:ServiceStack.Redis.BasicRedisClientManager.GetClient">
+            <summary>
+            Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.BasicRedisClientManager.GetReadOnlyClient">
+            <summary>
+            Returns a ReadOnly client using the hosts defined in ReadOnlyHosts.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:ServiceStack.Redis.BasicRedisClientManager.NamespacePrefix">
+            <summary>
+            Gets or sets object key prefix.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.BufferPool">
+            <summary>
+            Courtesy of @marcgravell
+            http://code.google.com/p/protobuf-net/source/browse/trunk/protobuf-net/BufferPool.cs
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.QueuedRedisTypedCommand`1">
+            <summary>
+            A complete redis command, with method to send command, receive response, and run callback on success or failure
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.RedisTypedClient`1">
+            <summary>
+            Allows you to get Redis value operations to operate against POCO types.
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:ServiceStack.Redis.Generic.RedisTypedClient`1.#ctor(ServiceStack.Redis.RedisClient)">
+            <summary>
+            Use this to share the same redis connection with another
+            </summary>
+            <param name="client">The client.</param>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisTypedPipeline`1">
+            <summary>
+            Pipeline for redis typed client
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.RedisTypedCommandQueue`1">
+            <summary>
+            Queue of commands for redis typed client
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisQueueCompletableOperation">
+            <summary>
+            Redis operation (transaction/pipeline) that allows queued commands to be completed
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Messaging.RedisMqHost">
+            <summary>
+            Creates an MQ Host that processes all messages on a single background thread. 
+            i.e. If you register 3 handlers it will only create 1 background thread.
+            
+            The same background thread that listens to the Redis MQ Subscription for new messages 
+            also cycles through each registered handler processing all pending messages one-at-a-time:
+            first in the message PriorityQ, then in the normal message InQ.
+            
+            The Start/Stop methods are idempotent i.e. It's safe to call them repeatedly on multiple threads 
+            and the Redis MQ Host will only have Started/Stopped once.
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Messaging.RedisMqHost.ReplyClientFactory">
+            <summary>
+            Inject your own Reply Client Factory to handle custom Message.ReplyTo urls.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Messaging.RedisMqServer">
+            <summary>
+            Creates a Redis MQ Server that processes each message on its own background thread.
+            i.e. if you register 3 handlers it will create 7 background threads:
+              - 1 listening to the Redis MQ Subscription, getting notified of each new message
+              - 3x1 Normal InQ for each message handler
+              - 3x1 PriorityQ for each message handler
+            
+            When RedisMqServer Starts it creates a background thread subscribed to the Redis MQ Topic that
+            listens for new incoming messages. It also starts 2 background threads for each message type:
+             - 1 for processing the services Priority Queue and 1 processing the services normal Inbox Queue.
+            
+            Priority Queue's can be enabled on a message-per-message basis by specifying types in the 
+            OnlyEnablePriortyQueuesForTypes property. The DisableAllPriorityQueues property disables all Queues.
+            
+            The Start/Stop methods are idempotent i.e. It's safe to call them repeatedly on multiple threads 
+            and the Redis MQ Server will only have Started or Stopped once.
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Messaging.RedisMqServer.RequestFilter">
+            <summary>
+            Execute global transformation or custom logic before a request is processed.
+            Must be thread-safe.
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Messaging.RedisMqServer.ResponseFilter">
+            <summary>
+            Execute global transformation or custom logic on the response.
+            Must be thread-safe.
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Messaging.RedisMqServer.ErrorHandler">
+            <summary>
+            Execute global error handler logic. Must be thread-safe.
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Messaging.RedisMqServer.OnlyEnablePriortyQueuesForTypes">
+            <summary>
+            If you only want to enable priority queue handlers (and threads) for specific msg types
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Messaging.RedisMqServer.DisableAllPriorityQueues">
+            <summary>
+            Don't listen on any Priority Queues
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisClientManagerCacheClient.Dispose">
+            <summary>
+            Ignore dispose on RedisClientsManager, which should be registered as a singleton
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClientsManagerExtensions">
+            <summary>
+            Useful wrapper IRedisClientsManager to cut down the boiler plat of most IRedisClient access
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Pipeline.QueuedRedisCommand">
+            <summary>
+            A complete redis command, with method to send command, receive response, and run callback on success or failure
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisCommand">
+            <summary>
+            Redis command that does not get queued
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClient">
+            <summary>
+            The client wraps the native redis operations into a more readable c# API.
+            
+            Where possible these operations are also exposed in common c# interfaces, 
+            e.g. RedisClient.Lists => IList[string]
+            	 RedisClient.Sets => ICollection[string]
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisNativeClient">
+            <summary>
+            This class contains all the common operations for the RedisClient.
+            The client contains a 1:1 mapping of c# methods to redis operations of the same name.
+            
+            Not threadsafe use a pooled manager
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisNativeClient.Exec">
+            <summary>
+            Requires custom result parsing
+            </summary>
+            <returns>Number of results</returns>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisNativeClient.SendCommand(System.Byte[][])">
+            <summary>
+            Command to set multuple binary safe arguments
+            </summary>
+            <param name="cmdWithBinaryArgs"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisNativeClient.ResetSendBuffer">
+            <summary>
+            reset buffer index in send buffer
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.RedisNativeClient.Active">
+            <summary>
+            Used to manage connection pooling
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.RedisNativeClient.NamespacePrefix">
+            <summary>
+            Gets or sets object key prefix.
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisClient.New">
+            <summary>
+            Creates a new instance of the Redis Client from NewFactoryFn. 
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisClient.UrnKey``1(``0)">
+            <summary>
+            Returns key with automatic object id detection in provided value with <typeparam name="T">generic type</typeparam>.
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisClient.UrnKey``1(System.Object)">
+            <summary>
+            Returns key with explicit object id.
+            </summary>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisClient.UrnKey(System.Type,System.Object)">
+            <summary>
+            Returns key with explicit object type and id.
+            </summary>
+            <param name="type"></param>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ServiceStack.Redis.ShardedConnectionPool">
+            <summary>
+            Provides a redis connection pool that can be sharded
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.PooledRedisClientManager">
+            <summary>
+            For interoperabilty GetCacheClient() and GetReadOnlyCacheClient()
+            return an ICacheClient wrapper around the redis manager which has the affect of calling 
+            GetClient() for all write operations and GetReadOnlyClient() for the read ones.
+            
+            This works well for master-slave replication scenarios where you have 
+            1 master that replicates to multiple read slaves.
+            </summary>
+            <summary>
+            Provides thread-safe pooling of redis client connections.
+            Allows load-balancing of master-write and read-slave hosts, ideal for
+            1 master and multiple replicated read slaves.
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.#ctor(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},ServiceStack.Redis.RedisClientManagerConfig)">
+            <summary>
+            Hosts can be an IP Address or Hostname in the format: host[:port]
+            e.g. 127.0.0.1:6379
+            default is: localhost:6379
+            </summary>
+            <param name="readWriteHosts">The write hosts.</param>
+            <param name="readOnlyHosts">The read hosts.</param>
+            <param name="config">The config.</param>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.GetClient">
+            <summary>
+            Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.GetInActiveWriteClient">
+            <summary>
+            Called within a lock
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.GetReadOnlyClient">
+            <summary>
+            Returns a ReadOnly client using the hosts defined in ReadOnlyHosts.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.GetInActiveReadClient">
+            <summary>
+            Called within a lock
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.DisposeReadOnlyClient(ServiceStack.Redis.RedisNativeClient)">
+            <summary>
+            Disposes the read only client.
+            </summary>
+            <param name="client">The client.</param>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.DisposeWriteClient(ServiceStack.Redis.RedisNativeClient)">
+            <summary>
+            Disposes the write client.
+            </summary>
+            <param name="client">The client.</param>
+        </member>
+        <member name="P:ServiceStack.Redis.PooledRedisClientManager.NamespacePrefix">
+            <summary>
+            Gets or sets object key prefix.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.PooledRedisClientManager.DisposablePooledClient`1">
+            <summary>
+            Manage a client acquired from the PooledRedisClientManager
+            Dispose method will release the client back to the pool.
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.DisposablePooledClient`1.#ctor(ServiceStack.Redis.PooledRedisClientManager)">
+            <summary>
+            wrap the acquired client
+            </summary>
+            <param name="clientManager"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.PooledRedisClientManager.DisposablePooledClient`1.Dispose">
+            <summary>
+            release the wrapped client back to the pool
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.PooledRedisClientManager.DisposablePooledClient`1.Client">
+            <summary>
+            access the wrapped client
+            </summary>
+        </member>
+        <member name="F:ServiceStack.Redis.ShardedConnectionPool.name">
+            <summary>
+            logical name
+            </summary>
+        </member>
+        <member name="F:ServiceStack.Redis.ShardedConnectionPool.weight">
+            <summary>
+            An arbitrary weight relative to other nodes
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.ShardedConnectionPool.#ctor(System.String,System.Int32,System.String[])">
+            <param name="name">logical name</param>
+            <param name="weight">An arbitrary weight relative to other nodes</param>
+            <param name="readWriteHosts">redis nodes</param>
+        </member>
+        <member name="T:ServiceStack.Redis.ShardedRedisClientManager">
+            <summary>
+            Provides sharding of redis client connections.
+            uses consistent hashing to distribute keys across connection pools
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.ShardedRedisClientManager.GetConnectionPool(System.String)">
+            <summary>
+            maps a key to a redis connection pool
+            </summary>
+            <param name="key">key to map</param>
+            <returns>a redis connection pool</returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.ConsistentHash`1.AddTarget(`0,System.Int32)">
+            <summary>
+             Adds a node and maps points across the circle
+            </summary>
+            <param name="node"> node to add </param>
+            <param name="weight"> An arbitrary number, specifies how often it occurs relative to other targets. </param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.ConsistentHash`1.ModifiedBinarySearch(System.UInt64[],System.UInt64)">
+            <summary>
+              A variation of Binary Search algorithm. Given a number, matches the next highest number from the sorted array. 
+              If a higher number does not exist, then the first number in the array is returned.
+            </summary>
+            <param name="sortedArray"> a sorted array to perform the search </param>
+            <param name="val"> number to find the next highest number against </param>
+            <returns> next highest number </returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.ConsistentHash`1.Md5Hash(System.String)">
+            <summary>
+              Given a key, generates an unsigned 64 bit hash code using MD5
+            </summary>
+            <param name="key"> </param>
+            <returns> </returns>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Locking.IDistributedLock">
+            <summary>
+            Distributed lock interface
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.OptimizedObjectSerializer">
+            <summary>
+            Optimized  <see cref="T:ServiceStack.Redis.Support.ISerializer"/> implementation. Primitive types are manually serialized, the rest are serialized using binary serializer /&gt;.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.ObjectSerializer">
+            <summary>
+            serialize/deserialize arbitrary objects
+            (objects must be serializable)
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.ObjectSerializer.Serialize(System.Object)">
+            <summary>
+             Serialize object to buffer
+            </summary>
+            <param name="value">serializable object</param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.ObjectSerializer.Deserialize(System.Byte[])">
+            <summary>
+                Deserialize buffer to object
+            </summary>
+            <param name="someBytes">byte array to deserialize</param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OptimizedObjectSerializer.Serialize(System.Object)">
+            <summary>
+            
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OptimizedObjectSerializer.Deserialize(System.Byte[])">
+            <summary>
+            
+            </summary>
+            <param name="someBytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OptimizedObjectSerializer.SerializeToWrapper(System.Object)">
+            <summary>
+            serialize value and wrap with <see cref="T:ServiceStack.Redis.Support.SerializedObjectWrapper"/>
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OptimizedObjectSerializer.Unwrap(ServiceStack.Redis.Support.SerializedObjectWrapper)">
+            <summary>
+            Unwrap object wrapped in <see cref="T:ServiceStack.Redis.Support.SerializedObjectWrapper"/>
+            </summary>
+            <param name="item"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialData`1.PopAndUnlock">
+            <summary>
+            pop numProcessed items from queue and unlock queue for work item id that dequeued
+            items are associated with
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialData`1.DoneProcessedWorkItem">
+            <summary>
+            A dequeued work item has been processed. When all of the dequeued items have been processed,
+            all items will be popped from the queue,and the queue unlocked for the work item id that
+            the dequeued items are associated with
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialData`1.UpdateNextUnprocessed(`0)">
+            <summary>
+            Update first unprocessed item with new work item.
+            </summary>
+            <param name="newWorkItem"></param>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.Queue.ISequentialData`1.DequeueItems">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1">
+            <summary>
+            distributed work item queue. Each message must have an associated
+            work item  id. For a given id, all work items are guaranteed to be processed
+            in the order in which they are received.
+            
+            
+            </summary>
+            <summary>
+            distributed work item queue. Each message must have an associated
+            work item  id. For a given id, all work items are guaranteed to be processed
+            in the order in which they are received.
+            
+            
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Queue.Implementation.RedisWorkQueue`1">
+            <summary>
+            distributed work item queue
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialWorkQueue`1.Enqueue(System.String,`0)">
+            <summary>
+            Enqueue item in priority queue corresponding to workItemId identifier
+            </summary>
+            <param name="workItemId"></param>
+            <param name="workItem"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialWorkQueue`1.PrepareNextWorkItem">
+            <summary>
+            Preprare next work item id for dequeueing
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialWorkQueue`1.Dequeue(System.Int32)">
+            <summary>
+            Dequeue up to maxBatchSize items from queue corresponding to workItemId identifier.
+            Once this method is called, <see cref="M:ServiceStack.Redis.Support.Queue.ISequentialWorkQueue`1.Dequeue(System.Int32)"/> or <see cref="!:Peek"/> will not
+            return any items for workItemId until the dequeue lock returned is unlocked.
+            </summary>
+            <param name="maxBatchSize"></param>
+            <param name="defer"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISequentialWorkQueue`1.Update(System.String,System.Int32,`0)">
+            <summary>
+            Replace existing work item in workItemId queue
+            </summary>
+            <param name="workItemId"></param>
+            <param name="index"></param>
+            <param name="newWorkItem"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.Enqueue(System.String,`0)">
+            <summary>
+            Queue incoming messages
+            </summary>
+            <param name="workItem"></param>
+            <param name="workItemId"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.PrepareNextWorkItem">
+            <summary>
+            Must call this periodically to move work items from priority queue to pending queue
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.Update(System.String,System.Int32,`0)">
+            <summary>
+            Replace existing work item in workItemId queue
+            </summary>
+            <param name="workItemId"></param>
+            <param name="index"></param>
+            <param name="newWorkItem"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.Pop(System.String,System.Int32)">
+            <summary>
+            Pop items from list
+            </summary>
+            <param name="workItemId"></param>
+            <param name="itemCount"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.HarvestZombies">
+            <summary>
+            Force release of locks held by crashed servers
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.TryForceReleaseLock(ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClient,System.String)">
+            <summary>
+            release lock held by crashed server
+            </summary>
+            <param name="client"></param>
+            <param name="workItemId"></param>
+            <returns>true if lock is released, either by this method or by another client; false otherwise</returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.Unlock(System.String)">
+            <summary>
+            Unlock work item id, so other servers can process items for this id
+            </summary>
+            <param name="workItemId"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.DequeueManager.UpdateNextUnprocessed(`0)">
+            <summary>
+            
+            </summary>
+            <param name="newWorkItem"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.DequeueManager.PopAndUnlock(System.Int32,ServiceStack.Redis.IRedisClient)">
+            <summary>
+            
+            </summary>
+            <param name="numProcessed"></param>
+            <param name="client"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSequentialWorkQueue`1.DequeueManager.PopAndUnlock(System.Int32)">
+            <summary>
+            
+            </summary>
+            <param name="numProcessed"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.SequentialData`1.PopAndUnlock">
+            <summary>
+            pop remaining items that were returned by dequeue, and unlock queue
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.SequentialData`1.DoneProcessedWorkItem">
+            <summary>
+            indicate that an item has been processed by the caller
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.SequentialData`1.UpdateNextUnprocessed(`0)">
+            <summary>
+            Update first unprocessed work item
+            </summary>
+            <param name="newWorkItem"></param>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.SerializedObjectWrapper">
+            <summary>
+            wraps a serialized representation of an object
+            </summary>
+            
+        </member>
+        <member name="M:ServiceStack.Redis.Support.SerializedObjectWrapper.#ctor(System.UInt16,System.ArraySegment{System.Byte})">
+            <summary>
+            Initializes a new instance of <see cref="T:ServiceStack.Redis.Support.SerializedObjectWrapper"/>.
+            </summary>
+            <param name="flags">Custom item data.</param>
+            <param name="data">The serialized item.</param>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.SerializedObjectWrapper.Data">
+            <summary>
+            The data representing the item being stored/retireved.
+            </summary>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.SerializedObjectWrapper.Flags">
+            <summary>
+            Flags set for this instance.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Locking.DisposableDistributedLock">
+            <summary>
+            distributed lock class that follows the Resource Allocation Is Initialization pattern
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.DisposableDistributedLock.#ctor(ServiceStack.Redis.IRedisClient,System.String,System.Int32,System.Int32)">
+            <summary>
+            Lock
+            </summary>
+            <param name="client"></param>
+            <param name="globalLockKey"></param>
+            <param name="acquisitionTimeout">in seconds</param>
+            <param name="lockTimeout">in seconds</param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.DisposableDistributedLock.Dispose">
+            <summary>
+            unlock
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISimpleWorkQueue`1.Enqueue(`0)">
+            <summary>
+            Enqueue item
+            </summary>
+            <param name="workItem"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.ISimpleWorkQueue`1.Dequeue(System.Int32)">
+            <summary>
+            Dequeue up to maxBatchSize items from queue
+            </summary>
+            <param name="maxBatchSize"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Queue.Implementation.RedisChronologicalWorkQueue`1">
+            <summary>
+            distributed work item queue. Messages are processed in chronological order
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisChronologicalWorkQueue`1.Enqueue(System.String,`0,System.Double)">
+            <summary>
+            Enqueue incoming messages
+            </summary>
+            <param name="workItem"></param>
+            <param name="workItemId"></param>
+            <param name="time"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisChronologicalWorkQueue`1.Dequeue(System.Double,System.Double,System.Int32)">
+            <summary>
+            Dequeue next batch of work items
+            </summary>
+            <param name="minTime"></param>
+            <param name="maxTime"></param>
+            <param name="maxBatchSize"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Queue.Implementation.RedisSimpleWorkQueue`1">
+            <summary>
+            simple distributed work item queue 
+            
+            
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSimpleWorkQueue`1.Enqueue(`0)">
+            <summary>
+            Queue incoming messages
+            </summary>
+            <param name="msg"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.RedisSimpleWorkQueue`1.Dequeue(System.Int32)">
+            <summary>
+            Dequeue next batch of work items for processing. After this method is called,
+            no other work items with same id will be available for
+            dequeuing until PostDequeue is called
+            </summary>
+            <returns>KeyValuePair: key is work item id, and value is list of dequeued items.
+            </returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClient.Serialize(System.Object)">
+            <summary>
+             Serialize object to buffer
+            </summary>
+            <param name="value">serializable object</param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClient.Serialize(System.Object[])">
+            <summary>
+            
+            </summary>
+            <param name="values">array of serializable objects</param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClient.Deserialize(System.Byte[])">
+            <summary>
+             Deserialize buffer to object
+            </summary>
+            <param name="someBytes">byte array to deserialize</param>
+            <returns></returns>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClient.Deserialize(System.Byte[][])" -->
+        <member name="P:ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClient.Serializer">
+            <summary>
+            customize the client serializer
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Queue.Implementation.SerializingRedisClientFactory">
+            <summary>
+            Factory to create SerializingRedisClient objects
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisCommandQueue">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisAllPurposePipeline.#ctor(ServiceStack.Redis.RedisClient)">
+            <summary>
+            General purpose pipeline
+            </summary>
+            <param name="redisClient"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisAllPurposePipeline.Flush">
+            <summary>
+            Flush send buffer, and read responses
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.RedisClientHash`2">
+            <summary>
+            Wrap the common redis set operations under a ICollection[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.RedisTypedTransaction`1">
+            <summary>
+            Adds support for Redis Transactions (i.e. MULTI/EXEC/DISCARD operations).
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Generic.RedisTypedTransaction`1.QueueExpectQueued">
+            <summary>
+            Put "QUEUED" messages at back of queue
+            </summary>
+            <param name="queued"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Generic.RedisTypedTransaction`1.Exec">
+            <summary>
+            Issue exec command (not queued)
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Generic.RedisTypedTransaction`1.handleMultiDataResultCount(System.Int32)">
+            <summary>
+            callback for after result count is read in
+            </summary>
+            <param name="count"></param>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.RedisClientSortedSet`1">
+            <summary>
+            Wrap the common redis set operations under a ICollection[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClientHash">
+            <summary>
+            Wrap the common redis set operations under a ICollection[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClientSortedSet">
+            <summary>
+            Wrap the common redis set operations under a ICollection[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Messaging.RedisTransientMessageFactory">
+            <summary>
+            Transient message queues are a one-pass message queue service that starts
+            processing messages when Start() is called. Any subsequent Start() calls 
+            while the service is running is ignored.
+            
+            The transient service will continue to run until all messages have been 
+            processed after which time it will shutdown all processing until Start() is called again.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisException">
+            <summary>
+            Redis-specific exception. Thrown if unable to connect to Redis server due to socket exception, for example.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisTransaction">
+            <summary>
+            Adds support for Redis Transactions (i.e. MULTI/EXEC/DISCARD operations).
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisTransaction.QueueExpectQueued">
+            <summary>
+            Put "QUEUED" messages at back of queue
+            </summary>
+            <param name="queued"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisTransaction.Exec">
+            <summary>
+            Issue exec command (not queued)
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.RedisTransaction.handleMultiDataResultCount(System.Int32)">
+            <summary>
+            callback for after result count is read in
+            </summary>
+            <param name="count"></param>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClientFactory">
+            <summary>
+            Provide the default factory implementation for creating a RedisClient that 
+            can be mocked and used by different 'Redis Client Managers' 
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Generic.RedisClientSet`1">
+            <summary>
+            Wrap the common redis set operations under a ICollection[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisCacheClientFactory">
+            <summary>
+            Provide the factory implementation for creating a RedisCacheClient that 
+            can be mocked and used by different 'Redis Client Managers' 
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClientSet">
+            <summary>
+            Wrap the common redis set operations under a ICollection[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.RedisClientList">
+            <summary>
+            Wrap the common redis list operations under a IList[string] interface.
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.IOrderedDictionary`2">
+            <summary>
+            Represents a generic collection of key/value pairs that are ordered independently of the key and value.
+            </summary>
+            <typeparam name="TKey">The type of the keys in the dictionary</typeparam>
+            <typeparam name="TValue">The type of the values in the dictionary</typeparam>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.IOrderedDictionary`2.Add(`0,`1)">
+            <summary>
+            Adds an entry with the specified key and value into the <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> collection with the lowest available index.
+            </summary>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add.</param>
+            <returns>The index of the newly added entry</returns>
+            <remarks>
+            <para>You can also use the <see cref="P:System.Collections.Generic.IDictionary{TKey,TValue}.Item(TKey)"/> property to add new elements by setting the value of a key that does not exist in the <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> collection; however, if the specified key already exists in the <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see>, setting the <see cref="P:Item(TKey)"/> property overwrites the old value. In contrast, the <see cref="M:Add"/> method does not modify existing elements.</para></remarks>
+            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see></exception>
+            <exception cref="T:System.NotSupportedException">The <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> is read-only.<br/>
+            -or-<br/>
+            The <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> has a fized size.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.IOrderedDictionary`2.Insert(System.Int32,`0,`1)">
+            <summary>
+            Inserts a new entry into the <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> collection with the specified key and value at the specified index.
+            </summary>
+            <param name="index">The zero-based index at which the element should be inserted.</param>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add. The value can be <null/> if the type of the values in the dictionary is a reference type.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            <paramref name="index"/> is greater than <see cref="P:System.Collections.ICollection.Count"/>.</exception>
+            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see>.</exception>
+            <exception cref="T:System.NotSupportedException">The <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> is read-only.<br/>
+            -or-<br/>
+            The <see cref="T:ServiceStack.Redis.Support.IOrderedDictionary`2">IOrderedDictionary&lt;TKey,TValue&gt;</see> has a fized size.</exception>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.IOrderedDictionary`2.Item(System.Int32)">
+            <summary>
+            Gets or sets the value at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the value to get or set.</param>
+            <value>The value of the item at the specified index.</value>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            <paramref name="index"/> is equal to or greater than <see cref="P:System.Collections.ICollection.Count"/>.</exception>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.OrderedDictionary`2">
+            <summary>
+            Represents a generic collection of key/value pairs that are ordered independently of the key and value.
+            </summary>
+            <typeparam name="TKey">The type of the keys in the dictionary</typeparam>
+            <typeparam name="TValue">The type of the values in the dictionary</typeparam>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> class.
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> class using the specified initial capacity.
+            </summary>
+            <param name="capacity">The initial number of elements that the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> can contain.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> class using the specified comparer.
+            </summary>
+            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1">IEqualityComparer&lt;TKey&gt;</see> to use when comparing keys, or <null/> to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1">EqualityComparer&lt;TKey&gt;</see> for the type of the key.</param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> class using the specified initial capacity and comparer.
+            </summary>
+            <param name="capacity">The initial number of elements that the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection can contain.</param>
+            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1">IEqualityComparer&lt;TKey&gt;</see> to use when comparing keys, or <null/> to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1">EqualityComparer&lt;TKey&gt;</see> for the type of the key.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.ConvertToKeyType(System.Object)">
+            <summary>
+            Converts the object passed as a key to the key type of the dictionary
+            </summary>
+            <param name="keyObject">The key object to check</param>
+            <returns>The key object, cast as the key type of the dictionary</returns>
+            <exception cref="T:System.ArgumentNullException"><paramref name="keyObject"/> is <null/>.</exception>
+            <exception cref="T:System.ArgumentException">The key type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="keyObject"/>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.ConvertToValueType(System.Object)">
+            <summary>
+            Converts the object passed as a value to the value type of the dictionary
+            </summary>
+            <param name="value">The object to convert to the value type of the dictionary</param>
+            <returns>The value object, converted to the value type of the dictionary</returns>
+            <exception cref="T:System.ArgumentNullException"><paramref name="valueObject"/> is <null/>, and the value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is a value type.</exception>
+            <exception cref="T:System.ArgumentException">The value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="valueObject"/>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.Insert(System.Int32,`0,`1)">
+            <summary>
+            Inserts a new entry into the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection with the specified key and value at the specified index.
+            </summary>
+            <param name="index">The zero-based index at which the element should be inserted.</param>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add. The value can be <null/> if the type of the values in the dictionary is a reference type.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            <paramref name="index"/> is greater than <see cref="P:ServiceStack.Redis.Support.OrderedDictionary`2.Count"/>.</exception>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/>.</exception>
+            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Specialized#IOrderedDictionary#Insert(System.Int32,System.Object,System.Object)">
+            <summary>
+            Inserts a new entry into the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection with the specified key and value at the specified index.
+            </summary>
+            <param name="index">The zero-based index at which the element should be inserted.</param>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add. The value can be <null/> if the type of the values in the dictionary is a reference type.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            <paramref name="index"/> is greater than <see cref="P:ServiceStack.Redis.Support.OrderedDictionary`2.Count"/>.</exception>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/>.<br/>
+            -or-<br/>
+            <paramref name="value"/> is <null/>, and the value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is a value type.</exception>
+            <exception cref="T:System.ArgumentException">The key type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="key"/>.<br/>
+            -or-<br/>
+            The value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="value"/>.<br/>
+            -or-<br/>
+            An element with the same key already exists in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.RemoveAt(System.Int32)">
+            <summary>
+            Removes the entry at the specified index from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.
+            </summary>
+            <param name="index">The zero-based index of the entry to remove.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            index is equal to or greater than <see cref="P:ServiceStack.Redis.Support.OrderedDictionary`2.Count"/>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+            <summary>
+            Adds an entry with the specified key and value into the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection with the lowest available index.
+            </summary>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add. This value can be <null/>.</param>
+            <remarks>A key cannot be <null/>, but a value can be.
+            <para>You can also use the <see cref="P:OrderedDictionary{TKey,TValue}.Item(TKey)"/> property to add new elements by setting the value of a key that does not exist in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection; however, if the specified key already exists in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>, setting the <see cref="P:OrderedDictionary{TKey,TValue}.Item(TKey)"/> property overwrites the old value. In contrast, the <see cref="M:Add"/> method does not modify existing elements.</para></remarks>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/></exception>
+            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see></exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.Add(`0,`1)">
+            <summary>
+            Adds an entry with the specified key and value into the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection with the lowest available index.
+            </summary>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add. This value can be <null/>.</param>
+            <returns>The index of the newly added entry</returns>
+            <remarks>A key cannot be <null/>, but a value can be.
+            <para>You can also use the <see cref="P:OrderedDictionary{TKey,TValue}.Item(TKey)"/> property to add new elements by setting the value of a key that does not exist in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection; however, if the specified key already exists in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>, setting the <see cref="P:OrderedDictionary{TKey,TValue}.Item(TKey)"/> property overwrites the old value. In contrast, the <see cref="M:Add"/> method does not modify existing elements.</para></remarks>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/></exception>
+            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see></exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+            <summary>
+            Adds an entry with the specified key and value into the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection with the lowest available index.
+            </summary>
+            <param name="key">The key of the entry to add.</param>
+            <param name="value">The value of the entry to add. This value can be <null/>.</param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/>.<br/>
+            -or-<br/>
+            <paramref name="value"/> is <null/>, and the value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is a value type.</exception>
+            <exception cref="T:System.ArgumentException">The key type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="key"/>.<br/>
+            -or-<br/>
+            The value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="value"/>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.Clear">
+            <summary>
+            Removes all elements from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.
+            </summary>
+            <remarks>The capacity is not changed as a result of calling this method.</remarks>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.ContainsKey(`0)">
+            <summary>
+            Determines whether the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection contains a specific key.
+            </summary>
+            <param name="key">The key to locate in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.</param>
+            <returns><see langword="true"/> if the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection contains an element with the specified key; otherwise, <see langword="false"/>.</returns>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/></exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+            <summary>
+            Determines whether the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection contains a specific key.
+            </summary>
+            <param name="key">The key to locate in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.</param>
+            <returns><see langword="true"/> if the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection contains an element with the specified key; otherwise, <see langword="false"/>.</returns>
+            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <null/></exception>
+            <exception cref="T:System.ArgumentException">The key type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="key"/>.</exception>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.IndexOfKey(`0)">
+            <summary>
+            Returns the zero-based index of the specified key in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>
+            </summary>
+            <param name="key">The key to locate in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see></param>
+            <returns>The zero-based index of <paramref name="key"/>, if <paramref name="ley"/> is found in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>; otherwise, -1</returns>
+            <remarks>This method performs a linear search; therefore it has a cost of O(n) at worst.</remarks>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.Remove(`0)">
+            <summary>
+            Removes the entry with the specified key from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.
+            </summary>
+            <param name="key">The key of the entry to remove</param>
+            <returns><see langword="true"/> if the key was found and the corresponding element was removed; otherwise, <see langword="false"/></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+            <summary>
+            Removes the entry with the specified key from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.
+            </summary>
+            <param name="key">The key of the entry to remove</param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+            <summary>
+            Copies the elements of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> elements to a one-dimensional Array object at the specified index.
+            </summary>
+            <param name="array">The one-dimensional <see cref="T:System.Array"/> object that is the destination of the <see cref="T:KeyValuePair`2&gt;"/> objects copied from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
+            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
+            <remarks>The <see cref="M:CopyTo"/> method preserves the order of the elements in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see></remarks>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.TryGetValue(`0,`1@)">
+            <summary>
+            Gets the value associated with the specified key.
+            </summary>
+            <param name="key">The key of the value to get.</param>
+            <param name="value">When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of <paramref name="value"/>. This parameter can be passed uninitialized.</param>
+            <returns><see langword="true"/> if the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> contains an element with the specified key; otherwise, <see langword="false"/>.</returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Adds the specified value to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> with the specified key.
+            </summary>
+            <param name="item">The <see cref="T:KeyValuePair{TKey,TValue}">KeyValuePair&lt;TKey,TValue&gt;</see> structure representing the key and value to add to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Determines whether the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> contains a specific key and value.
+            </summary>
+            <param name="item">The <see cref="T:KeyValuePair{TKey,TValue}">KeyValuePair&lt;TKey,TValue&gt;</see> structure to locate in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</param>
+            <returns><see langword="true"/> if <paramref name="keyValuePair"/> is found in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>; otherwise, <see langword="false"/>.</returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+            <summary>
+            Copies the elements of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> to an array of type <see cref="T:KeyValuePair`2&gt;"/>, starting at the specified index.
+            </summary>
+            <param name="array">The one-dimensional array of type <see cref="T:KeyValuePair{TKey,TValue}">KeyValuePair&lt;TKey,TValue&gt;</see> that is the destination of the <see cref="T:KeyValuePair{TKey,TValue}">KeyValuePair&lt;TKey,TValue&gt;</see> elements copied from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>. The array must have zero-based indexing.</param>
+            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Removes a key and value from the dictionary.
+            </summary>
+            <param name="item">The <see cref="T:KeyValuePair{TKey,TValue}">KeyValuePair&lt;TKey,TValue&gt;</see> structure representing the key and value to remove from the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</param>
+            <returns><see langword="true"/> if the key and value represented by <paramref name="keyValuePair"/> is successfully found and removed; otherwise, <see langword="false"/>. This method returns <see langword="false"/> if <paramref name="keyValuePair"/> is not found in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</returns>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.Dictionary">
+            <summary>
+            Gets the dictionary object that stores the keys and values
+            </summary>
+            <value>The dictionary object that stores the keys and values for the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see></value>
+            <remarks>Accessing this property will create the dictionary object if necessary</remarks>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.List">
+            <summary>
+            Gets the list object that stores the key/value pairs.
+            </summary>
+            <value>The list object that stores the key/value pairs for the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see></value>
+            <remarks>Accessing this property will create the list object if necessary.</remarks>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.Item(System.Int32)">
+            <summary>
+            Gets or sets the value at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the value to get or set.</param>
+            <value>The value of the item at the specified index.</value>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            index is equal to or greater than <see cref="P:ServiceStack.Redis.Support.OrderedDictionary`2.Count"/>.</exception>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#Specialized#IOrderedDictionary#Item(System.Int32)">
+            <summary>
+            Gets or sets the value at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the value to get or set.</param>
+            <value>The value of the item at the specified index.</value>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.<br/>
+            -or-<br/>
+            index is equal to or greater than <see cref="P:ServiceStack.Redis.Support.OrderedDictionary`2.Count"/>.</exception>
+            <exception cref="T:System.ArgumentNullException"><paramref name="valueObject"/> is a null reference, and the value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is a value type.</exception>
+            <exception cref="T:System.ArgumentException">The value type of the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is not in the inheritance hierarchy of <paramref name="valueObject"/>.</exception>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#IsFixedSize">
+            <summary>
+            Gets a value indicating whether the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> has a fixed size.
+            </summary>
+            <value><see langword="true"/> if the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> has a fixed size; otherwise, <see langword="false"/>. The default is <see langword="false"/>.</value>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection is read-only.
+            </summary>
+            <value><see langword="true"/> if the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> is read-only; otherwise, <see langword="false"/>. The default is <see langword="false"/>.</value>
+            <remarks>
+            A collection that is read-only does not allow the addition, removal, or modification of elements after the collection is created.
+            <para>A collection that is read-only is simply a collection with a wrapper that prevents modification of the collection; therefore, if changes are made to the underlying collection, the read-only collection reflects those changes.</para>
+            </remarks>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#Keys">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection"/> object containing the keys in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.
+            </summary>
+            <value>An <see cref="T:System.Collections.ICollection"/> object containing the keys in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</value>
+            <remarks>The returned <see cref="T:System.Collections.ICollection"/> object is not a static copy; instead, the collection refers back to the keys in the original <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>. Therefore, changes to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> continue to be reflected in the key collection.</remarks>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#Values">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection"/> object containing the values in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.
+            </summary>
+            <value>An <see cref="T:System.Collections.ICollection"/> object containing the values in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.</value>
+            <remarks>The returned <see cref="T:System.Collections.ICollection"/> object is not a static copy; instead, the <see cref="T:System.Collections.ICollection"/> refers back to the values in the original <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection. Therefore, changes to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> continue to be reflected in the <see cref="T:System.Collections.ICollection"/>.</remarks>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.Item(`0)">
+            <summary>
+            Gets or sets the value with the specified key.
+            </summary>
+            <param name="key">The key of the value to get or set.</param>
+            <value>The value associated with the specified key. If the specified key is not found, attempting to get it returns <null/>, and attempting to set it creates a new element using the specified key.</value>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+            <summary>
+            Gets or sets the value with the specified key.
+            </summary>
+            <param name="key">The key of the value to get or set.</param>
+            <value>The value associated with the specified key. If the specified key is not found, attempting to get it returns <null/>, and attempting to set it creates a new element using the specified key.</value>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.Count">
+            <summary>
+            Gets the number of key/values pairs contained in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.
+            </summary>
+            <value>The number of key/value pairs contained in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> collection.</value>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#ICollection#IsSynchronized">
+            <summary>
+            Gets a value indicating whether access to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> object is synchronized (thread-safe).
+            </summary>
+            <value>This method always returns false.</value>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.System#Collections#ICollection#SyncRoot">
+            <summary>
+            Gets an object that can be used to synchronize access to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> object.
+            </summary>
+            <value>An object that can be used to synchronize access to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> object.</value>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.Keys">
+            <summary>
+            Gets an <see cref="T:System.Collections.Generic.ICollection{TKey}">ICollection&lt;TKey&gt;</see> object containing the keys in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.
+            </summary>
+            <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}">ICollection&lt;TKey&gt;</see> object containing the keys in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</value>
+            <remarks>The returned <see cref="T:System.Collections.Generic.ICollection{TKey}">ICollection&lt;TKey&gt;</see> object is not a static copy; instead, the collection refers back to the keys in the original <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>. Therefore, changes to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> continue to be reflected in the key collection.</remarks>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.OrderedDictionary`2.Values">
+            <summary>
+            Gets an <see cref="T:ICollection{TValue}">ICollection&lt;TValue&gt;</see> object containing the values in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.
+            </summary>
+            <value>An <see cref="T:ICollection{TValue}">ICollection&lt;TValue&gt;</see> object containing the values in the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>.</value>
+            <remarks>The returned <see cref="T:ICollection{TValue}">ICollection&lt;TKey&gt;</see> object is not a static copy; instead, the collection refers back to the values in the original <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see>. Therefore, changes to the <see cref="T:ServiceStack.Redis.Support.OrderedDictionary`2">OrderedDictionary&lt;TKey,TValue&gt;</see> continue to be reflected in the value collection.</remarks>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.DistributedLock.Lock(System.String,System.Int32,System.Int32,System.Int64@,ServiceStack.Redis.IRedisClient)">
+            <summary>
+            acquire distributed, non-reentrant lock on key
+            </summary>
+            <param name="key">global key for this lock</param>
+            <param name="acquisitionTimeout">timeout for acquiring lock</param>
+            <param name="lockTimeout">timeout for lock, in seconds (stored as value against lock key) </param>
+            <param name="client"></param>
+            <param name="lockExpire"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.DistributedLock.Unlock(System.String,System.Int64,ServiceStack.Redis.IRedisClient)">
+            <summary>
+            unlock key
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.DistributedLock.CalculateLockExpire(System.TimeSpan,System.Int32)">
+            <summary>
+            
+            </summary>
+            <param name="ts"></param>
+            <param name="timeout"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Locking.ILockingStrategy">
+            <summary>
+            Locking strategy interface
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.Locking.ReadLock">
+            <summary>
+            This class manages a read lock for a local readers/writer lock, 
+            using the Resource Acquisition Is Initialization pattern
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.ReadLock.#ctor(System.Threading.ReaderWriterLockSlim)">
+            <summary>
+            RAII initialization 
+            </summary>
+            <param name="lockObject"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.ReadLock.Dispose">
+            <summary>
+            RAII disposal
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.WriteLock.#ctor(System.Threading.ReaderWriterLockSlim)">
+            <summary>
+            This class manages a write lock for a local readers/writer lock, 
+            using the Resource Acquisition Is Initialization pattern
+            </summary>
+            <param name="lockObject"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.Locking.WriteLock.Dispose">
+            <summary>
+            RAII disposal
+            </summary>
+        </member>
+        <member name="T:ServiceStack.Redis.Support.RedisNamespace">
+            <summary>
+            manages a "region" in the redis key space
+            namespace can be cleared by incrementing the generation
+            </summary>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.GetGeneration">
+            <summary>
+            get current generation
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.SetGeneration(System.Int64)">
+            <summary>
+            set new generation
+            </summary>
+            <param name="generation"></param>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.GetGenerationKey">
+            <summary>
+            redis key for generation
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.GetGlobalKeysKey">
+            <summary>
+            get redis key that holds all namespace keys
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.GlobalCacheKey(System.Object)">
+            <summary>
+            get global cache key
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.GlobalKey(System.Object,System.Int32)">
+            <summary>
+            get global key inside of this namespace
+            </summary>
+            <param name="key"></param>
+            <param name="numUniquePrefixes">prefixes can be added for name deconfliction</param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.Sanitize(System.String)">
+            <summary>
+            replace UniqueCharacter with its double, to avoid name clash
+            </summary>
+            <param name="dirtyString"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ServiceStack.Redis.Support.RedisNamespace.Sanitize(System.Object)">
+            <summary>
+            
+            </summary>
+            <param name="dirtyString"></param>
+            <returns></returns>
+        </member>
+        <member name="P:ServiceStack.Redis.Support.RedisNamespace.LockingStrategy">
+            <summary>
+            get locking strategy
+            </summary>
+        </member>
+    </members>
+</doc>

BIN
servicestack/lib/ServiceStack.Redis.3.9.57/lib/net35/ServiceStack.Redis.dll


BIN
servicestack/lib/WindowsAzure.Caching.1.7.0.0/WindowsAzure.Caching.1.7.0.0.nupkg


+ 17 - 0
servicestack/lib/WindowsAzure.Caching.1.7.0.0/WindowsAzure.Caching.1.7.0.0.nuspec

@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+  <metadata>
+    <id>WindowsAzure.Caching</id>
+    <version>1.7.0.0</version>
+    <title>Windows Azure Shared Caching</title>
+    <authors>Microsoft</authors>
+    <owners>Microsoft</owners>
+    <licenseUrl>http://go.microsoft.com/fwlink/?LinkID=235167</licenseUrl>
+    <projectUrl>http://go.microsoft.com/fwlink/?LinkID=235165</projectUrl>
+    <iconUrl>http://www.gravatar.com/avatar/c24270713c524575b0308e05c7e9ff61?s=128</iconUrl>
+    <requireLicenseAcceptance>true</requireLicenseAcceptance>
+    <description>Windows Azure Shared Caching enables you to easily provision a cache in the cloud to be used from any applications or services that could benefit from caching. Caching increases performance by temporarily storing information from other backend sources. High performance is achieved by maintaining this cache in-memory across multiple cache servers. For a Windows Azure solution, caching can reduce the costs associated with database transactions in the cloud.</description>
+    <summary>A client library for Windows Azure Shared Caching - a distributed, in-memory, application cache service for Windows Azure and SQL Azure applications.</summary>
+    <tags>Microsoft Azure Shared Cache Distributed In-Memory SQL windowsazureofficial</tags>
+  </metadata>
+</package>

+ 30 - 0
servicestack/lib/WindowsAzure.Caching.1.7.0.0/content/app.config.Transform

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  
+  <configSections>
+    <!-- Append below entry to configSections. Do not overwrite the full section. -->
+    <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
+  </configSections>
+  
+  <dataCacheClients>
+
+    <dataCacheClient name="default">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22233" />
+      </hosts>
+      <securityProperties mode="Message">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+    
+    <dataCacheClient name="SslEndpoint">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22243" />
+      </hosts>
+      <securityProperties mode="Message" sslEnabled="true">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+
+</dataCacheClients>
+</configuration>

+ 38 - 0
servicestack/lib/WindowsAzure.Caching.1.7.0.0/content/web.config.Transform

@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+
+<!--
+  For more information on how to configure your ASP.NET application, please visit
+  http://go.microsoft.com/fwlink/?LinkId=169433
+  -->
+
+<configuration>
+
+	<configSections>
+		<!-- Append below entry to configSections. Do not overwrite the full section. -->
+		<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere"/>
+	</configSections>
+
+  <dataCacheClients>
+    
+    <dataCacheClient name="default">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22233" />
+      </hosts>
+      <securityProperties mode="Message">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+    
+    <dataCacheClient name="SslEndpoint">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22243" />
+      </hosts>
+      <securityProperties mode="Message" sslEnabled="true">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+  
+  </dataCacheClients>
+
+
+</configuration>

BIN
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Client.dll


+ 868 - 0
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Client.xml

@@ -0,0 +1,868 @@
+<?xml version="1.0" encoding="utf-8"?>
+<doc>
+	<assembly>
+		<name>Microsoft.ApplicationServer.Caching.Client</name>
+	</assembly>
+	<members>
+		<member name="T:Microsoft.ApplicationServer.Caching.CacheOperationCompletedEventArgs">
+			<summary>internal</summary>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.CacheOperationCompletedEventArgs.ExceptionObject">
+			<summary>internal</summary>
+			<returns>Returns <see cref="T:System.Exception"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.CacheOperationCompletedEventArgs.HasSucceeded">
+			<summary>internal</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.CacheOperationCompletedEventArgs.OperationContext">
+			<summary>internal</summary>
+			<returns>Returns <see cref="T:Microsoft.ApplicationServer.Caching.CacheOperationContext"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.CacheOperationCompletedEventArgs.OperationType">
+			<summary>internal</summary>
+			<returns>Returns <see cref="T:Microsoft.ApplicationServer.Caching.CacheOperationType"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.CacheOperationContext">
+			<summary>internal</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.CacheOperationStartedEventArgs">
+			<summary>internal</summary>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.CacheOperationStartedEventArgs.OperationContext">
+			<summary>internal</summary>
+			<returns>Returns <see cref="T:System.Object"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.CacheOperationStartedEventArgs.OperationType">
+			<summary>internal</summary>
+			<returns>Returns <see cref="T:Microsoft.ApplicationServer.Caching.CacheOperationType"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.CacheOperationType">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.Add">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.AsyncGet">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.BulkGet">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.ClearRegion">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.CreateRegion">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.Get">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.GetAndLock">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.GetCacheItem">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.GetIfNewer">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.LockedRemove">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.Put">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.PutAndUnlock">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.Remove">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.RemoveRegion">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.ResetObjectTimeout">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.Unknown">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.CacheOperationType.Unlock">
+			<summary>internal</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCache">
+			<summary>The object that is used by cache-enabled applications for storing and retrieving objects from the cache. An instance of this object is referred to as the cache client.</summary>
+		</member>
+		<member name="E:Microsoft.ApplicationServer.Caching.DataCache.CacheOperationCompleted">
+			<summary>Internal.</summary>
+		</member>
+		<member name="E:Microsoft.ApplicationServer.Caching.DataCache.CacheOperationStarted">
+			<summary>Internal.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object)">
+			<summary>Adds an object to the cache.</summary>
+			<returns>A  <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Adds an object to the cache. This method enables associating tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+			<param name="tags">An array of <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> objects to associate with the cached object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.String)">
+			<summary>Adds an object to a region in the cache. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region to save the object in.</param>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.TimeSpan)">
+			<summary>Adds an object to the cache. This method provides the ability to specify when the object should be expired.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+			<param name="timeout">The amount of time the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Adds an object to a region in the cache. This method enables association of tags with objects in the cache. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region to save the object in.</param>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+			<param name="tags">An array of <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> objects to associate with the cached object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Adds an object to the cache. This method enables associating tags with the cached object and specifying when the object should be expired. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">An array of <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> objects to associate with the cached object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.TimeSpan,System.String)">
+			<summary>Adds an object to a region in the cache. This method provides the ability to specify when the object should be expired. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see>object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region to save the object.</param>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Add(System.String,System.Object,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Adds an object to a region in the cache. This method enables associating tags with the cached object and specifying when the object should be expired. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region to save the object.</param>
+			<param name="key">A unique value that is used to store and retrieve the object from the cache.</param>
+			<param name="value">The object saved to the cache.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">An array of <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> objects to associate with the cached object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.AddCacheLevelBulkCallback(Microsoft.ApplicationServer.Caching.DataCacheBulkNotificationCallback)">
+			<summary>Adds a bulk cache notification callback for cache operations occurring on all regions and items. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object used to identify the cache bulk notification callback.</returns>
+			<param name="clientCallback">The name of the method you want to invoke when these notifications occur.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.AddCacheLevelCallback(Microsoft.ApplicationServer.Caching.DataCacheOperations,Microsoft.ApplicationServer.Caching.DataCacheNotificationCallback)">
+			<summary>Adds a cache notification callback for cache operations occurring on all regions and items. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object used to identify the cache notification callback.</returns>
+			<param name="clientCallback">The name of the method you want to invoke when these notifications occur.</param>
+			<param name="filter">The type of cache operation(s) that will trigger cache notifications.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.AddFailureNotificationCallback(Microsoft.ApplicationServer.Caching.DataCacheFailureNotificationCallback)">
+			<summary>Adds a failure notification callback, for notifications indicating that a client has missed one or more cache notifications. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object used to identify the cache notification callback.</returns>
+			<param name="failureCallback">The name of the method that you want to invoke when the failure notification occurs.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.AddItemLevelCallback(System.String,Microsoft.ApplicationServer.Caching.DataCacheOperations,Microsoft.ApplicationServer.Caching.DataCacheNotificationCallback)">
+			<summary>Adds a cache notification callback for cache operations occurring on one specific item that is not stored in a region. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object used to identify the cache notification callback.</returns>
+			<param name="clientCallback">The name of the method you want to invoke when these notifications occur.</param>
+			<param name="key">The key used to store the object in the cache.</param>
+			<param name="filter">The type of cache operation(s) that will trigger cache notifications.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.AddItemLevelCallback(System.String,Microsoft.ApplicationServer.Caching.DataCacheOperations,Microsoft.ApplicationServer.Caching.DataCacheNotificationCallback,System.String)">
+			<summary>Adds a cache notification callback for cache operations occurring on one specific item that is stored in region. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object used to identify the cache notification callback.</returns>
+			<param name="clientCallback">The name of the method you want to invoke when these notifications occur.</param>
+			<param name="key">The key used to store the object in the cache.</param>
+			<param name="region">The name of the region where the object is stored.</param>
+			<param name="filter">The type of cache operation(s) that will trigger cache notifications.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.AddRegionLevelCallback(System.String,Microsoft.ApplicationServer.Caching.DataCacheOperations,Microsoft.ApplicationServer.Caching.DataCacheNotificationCallback)">
+			<summary>Adds a cache notification callback for cache operations occurring on one specific region. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object used to identify the cache notification callback.</returns>
+			<param name="region">The name of the region for which the specified item or region operations can trigger cache notifications.</param>
+			<param name="clientCallback">The name of the method you want to invoke when these notifications occur.</param>
+			<param name="filter">The type of cache operation(s) that will trigger cache notifications.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.BulkGet(System.Collections.Generic.IEnumerable{System.String},System.String)">
+			<summary>Returns objects for the specified keys from the specified region of the cache. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns an <see cref="T:System.Collections.Generic.IEnumerable`1"></see> object with a list of key and value pairs.</returns>
+			<param name="region">Name of the region, cannot be null.</param>
+			<param name="keys">List of keys for the objects to retrieve, cannot be null.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.ClearRegion(System.String)">
+			<summary>Deletes all objects in the specified region. Applies to Windows Server AppFabric only.</summary>
+			<param name="region">The name of the region whose objects are removed.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.CreateRegion(System.String)">
+			<summary>Creates a region. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns a<see cref="T:System.Boolean"></see> value..</returns>
+			<param name="region">The name of the region that is created.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Get(System.String)">
+			<summary>Gets an object from the cache using the specified key.</summary>
+			<returns>The object that was cached by using the specified key. Null is returned if the key does not exist.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Get(System.String,Microsoft.ApplicationServer.Caching.DataCacheItemVersion@)">
+			<summary>Gets an object from the cache using the specified key. You may also provide the version to obtain a specific version of a key, if that version is still the most current in the cache.</summary>
+			<returns>The object that was cached by using the specified key. Null is returned if the key does not exist. Even if the key does exist, Null may also be returned because the object has been updated to a new version.</returns>
+			<param name="version">The version of the desired object. If this parameter is null, the version of the current object is retrieved.</param>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Get(System.String,System.String)">
+			<summary>Gets an object from the specified region by using the specified key. Applies to Windows Server AppFabric only.</summary>
+			<returns>The object that was cached by using the specified key. Null is returned if the key does not exist.</returns>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Get(System.String,Microsoft.ApplicationServer.Caching.DataCacheItemVersion@,System.String)">
+			<summary>Gets an object from the specified region by using the specified key. You may also provide the version to obtain the specific version of a key, if that version is still the most current in the region. Applies to Windows Server AppFabric only.</summary>
+			<returns>The object that was cached by using the specified key. Null is returned if the key does not exist. Even if the key does exist, Null may also be returned because the object has been updated to a new version.</returns>
+			<param name="version">The version of the desired object. If this parameter is null, the version of the current object is retrieved.</param>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetAndLock(System.String,System.TimeSpan,Microsoft.ApplicationServer.Caching.DataCacheLockHandle@)">
+			<summary>Locks the key if the key is present and it is not locked and returns the object corresponding to the key.</summary>
+			<returns>Returns <see cref="T:System.Object"></see> matching the specified key parameter if the <see cref="T:System.Object"></see> is present and is not locked. If the key does not exist, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.KeyDoesNotExist"></see>. Create objects based on the referenced key to resolve this error.If the object is already locked by another cache client, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ObjectLocked"></see>. The object will be inaccessible until it is unlocked by the locking client.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object required to unlock the object. The lockHandle output parameter is passed by reference.</param>
+			<param name="timeout">The amount of time that the object should remain locked.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetAndLock(System.String,System.TimeSpan,Microsoft.ApplicationServer.Caching.DataCacheLockHandle@,System.Boolean)">
+			<summary>Lock the key if key is present and it is not locked by any clients and returns the object corresponding to the key.</summary>
+			<returns>Returns <see cref="T:System.Object"></see> matching the specified key parameter if the <see cref="T:System.Object"></see> is present and is not locked. If the key does not exist, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.KeyDoesNotExist"></see>. Create objects based on the referenced key to resolve this error.If the object is already locked by another cache client, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ObjectLocked"></see>. The object will be inaccessible until it is unlocked by the locking client.</returns>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object required to unlock the object. The lockHandle output parameter is passed by reference.</param>
+			<param name="forceLock">If forceLock is true, key is locked irrespective of key-value pair presence in cache.</param>
+			<param name="timeout">The amount of time that object remains locked.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetAndLock(System.String,System.TimeSpan,Microsoft.ApplicationServer.Caching.DataCacheLockHandle@,System.String)">
+			<summary>Locks the key if the key is present and is not locked and returns the object corresponding to the key. For objects stored in regions. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns <see cref="T:System.Object"></see> matching the specified key parameter if the <see cref="T:System.Object"></see> is present and is not locked.If the key does not exist, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.KeyDoesNotExist"></see>. Create objects based on the referenced key to resolve this error.If the object is already locked by another cache client, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ObjectLocked"></see>. The object will be inaccessible until it is unlocked by the locking client.</returns>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object required to unlock the object. The lockHandle output parameter is passed by reference.</param>
+			<param name="timeout">The amount of time that the object remains locked.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetAndLock(System.String,System.TimeSpan,Microsoft.ApplicationServer.Caching.DataCacheLockHandle@,System.String,System.Boolean)">
+			<summary>Lock the key if key is present and it is not locked by any clients and returns the object corresponding to the key. For objects stored in regions. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns <see cref="T:System.Object"></see> matching the specified key parameter if the <see cref="T:System.Object"></see> is present and is not locked.If the key does not exist, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.KeyDoesNotExist"></see>. Create objects based on the referenced key to resolve this error.If the object is already locked by another cache client, a DataCacheException object is thrown with the ErrorCode set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ObjectLocked"></see>. The object will be inaccessible until it is unlocked by the locking client.</returns>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object required to unlock the object. The lockHandle output parameter is passed by reference.</param>
+			<param name="forceLock">If forceLock is true, key is locked irrespective of key-value pair presence in cache.</param>
+			<param name="timeout">The amount of time that the object remains locked.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetCacheItem(System.String)">
+			<summary>Gets a <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItem"></see> object to retrieve all information associated with your cached object in the cluster.</summary>
+			<returns>A<see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItem"></see> object that contains all information associated with your cached object. Null is returned if the key does not exist.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetCacheItem(System.String,System.String)">
+			<summary>Gets a <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItem"></see> object to retrieve all information associated with your cached object in the cluster. For objects stored in regions. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItem"></see> object that contains all information associated with your cached object. Null is returned if the key does not exist.</returns>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetIfNewer(System.String,Microsoft.ApplicationServer.Caching.DataCacheItemVersion@)">
+			<summary>Gets an object from the cache, but only if a newer version of the object resides in the cache.</summary>
+			<returns>If the version in the cache differs from the version parameter, the corresponding cached object is returned. If the version in the cache is the same as the version parameter, null is returned.</returns>
+			<param name="version">The version of the desired object, passed by reference.</param>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetIfNewer(System.String,Microsoft.ApplicationServer.Caching.DataCacheItemVersion@,System.String)">
+			<summary>Gets an object from the specified region, but only if a newer version of the object resides in the region. Applies to Windows Server AppFabric only.</summary>
+			<returns>If the version in the region differs from the version parameter, the corresponding cached object is returned. If the version in the region is the same as the version parameter, null is returned.</returns>
+			<param name="version">The version of the desired object, passed by reference.</param>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetObjectsByAllTags(System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Gets an enumerable list of all cached objects in the specified region that have all the same tags in common. Applies to Windows Server AppFabric only.</summary>
+			<returns>An enumerable list of all cached objects in the specified region that have all the same tags in common.</returns>
+			<param name="region">The name of the region to search. Tags are not supported outside regions. Therefore, a region name is required.</param>
+			<param name="tags">A list of tags for which to search.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetObjectsByAnyTag(System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Gets an enumerable list of all cached objects in the specified region that have any of the same tags in common. Applies to Windows Server AppFabric only.</summary>
+			<returns>An enumerable list of all cached objects in the specified region that have any of the same tags in common. Null is returned if no objects in the specified region have any of the tags specified.</returns>
+			<param name="region">The name of the region to search. Tags are not supported outside regions. Therefore, a region name is required.</param>
+			<param name="tags">A list of tags for which to search.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetObjectsByTag(Microsoft.ApplicationServer.Caching.DataCacheTag,System.String)">
+			<summary>Gets an enumerable list of all cached objects in the specified region that have the specified tag. Applies to Windows Server AppFabric only.</summary>
+			<returns>An enumerable list of all cached objects in the specified region that have the specified tag. Null is returned if no objects in the specified region have the tag specified.</returns>
+			<param name="region">The name of the region to search. Tags are not supported outside regions. Therefore, a region name is required.</param>
+			<param name="tag">The tag for which to search.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetObjectsInRegion(System.String)">
+			<summary>Gets an enumerable list of all cached objects in the specified region. Applies to Windows Server AppFabric only.</summary>
+			<returns>An enumerable list of all cached objects in the specified region.</returns>
+			<param name="region">The name of the region for which to return a list of all resident objects.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetSystemRegionName(System.String)">
+			<summary>Returns the name of the region for the specified key. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns the region name as a <see cref="T:System.String"></see>.</returns>
+			<param name="key">The key for which to find the associated region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.GetSystemRegions">
+			<summary>Used to determine the default regions for the cache. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns an enumerable list of default regions as an <see cref="T:System.Collections.Generic.IEnumerable`1"></see> object.</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.OnCacheOperationCompleted(Microsoft.ApplicationServer.Caching.CacheOperationCompletedEventArgs)">
+			<summary>Internal.</summary>
+			<param name="e">Internal.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.OnCacheOperationStarted(Microsoft.ApplicationServer.Caching.CacheOperationStartedEventArgs)">
+			<summary>Internal.</summary>
+			<param name="e">Internal.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object)">
+			<summary>Adds or replaces an object in the cache.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="value">The object to add or replace.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Adds or replaces an object in the cache if it is at the specified version.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="value">The object to add or replace.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Adds or replaces an object in the cache. Associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.String)">
+			<summary>Adds or replaces an object in the specified region. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.TimeSpan)">
+			<summary>Adds or replaces an object in the cache. Specifies the timeout value of the cached object.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Adds or replaces an object in the cache if it is at the specified version. Associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.String)">
+			<summary>Adds or replaces an object in the specified region if it is at the specified version. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.TimeSpan)">
+			<summary>Adds or replaces an object in the cache if it is at the specified version. Specifies the timeout value of the cached object.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Adds or replaces an object in the specified region. Associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Adds or replaces an object in the cache. Specifies the timeout value and associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.TimeSpan,System.String)">
+			<summary>Adds or replaces an object in the specified region. Specifies the timeout value of the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">Adds or replaces an object in the specified region. Specifies the timeout value of the cached object.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Adds or replaces an object in the specified region if it is at the specified version. Associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Adds or replaces an object in the cache if it is at the specified version. Specifies the timeout value and associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.TimeSpan,System.String)">
+			<summary>Adds or replaces an object in the specified region if it is at the specified version. Specifies the timeout value of the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Adds or replaces an object in the specified region. Specifies the timeout value and associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Put(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Adds or replaces an object in the specified region if it is at the specified version. Specifies the timeout value and associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the object saved to the cache under the key value.</returns>
+			<param name="oldVersion">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be replaced.</param>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle)">
+			<summary>Replaces and unlocks an object in the cache.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method. </returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Replaces and unlocks an object in the cache. Associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.String)">
+			<summary>Replaces and unlocks an object in the specified region. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.TimeSpan)">
+			<summary>Replaces and unlocks an object in the cache. Specifies the timeout value of the cached object.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Replaces and unlocks an object in the specified region. Associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag})">
+			<summary>Replaces and unlocks an object in the cache. Specifies the timeout value and associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.TimeSpan,System.String)">
+			<summary>Replaces and unlocks an object in the specified region. Specifies the timeout value of the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method. The timeout value associated with the cached object overrides expiration settings specified in the named cache configuration.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(System.String,System.Object,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.TimeSpan,System.Collections.Generic.IEnumerable{Microsoft.ApplicationServer.Caching.DataCacheTag},System.String)">
+			<summary>Replaces and unlocks an object in the specified region. Specifies the timeout value and associates tags with the cached object. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object after it has been updated by this method.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="value">The object to add or replace.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+			<param name="tags">A list of tags to associate with the object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Remove(System.String)">
+			<summary>Removes an object from the cache.</summary>
+			<returns>True if the object identified by the key is removed; otherwise, false.</returns>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Remove(System.String,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Removes an object with a specific version from the cache.</summary>
+			<returns>True if the object is removed; otherwise, false.</returns>
+			<param name="version">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be removed.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Remove(System.String,Microsoft.ApplicationServer.Caching.DataCacheLockHandle)">
+			<summary>Removes an object from the cache with an associated lock handle.</summary>
+			<returns>True if an object from the cache was removed; otherwise, false.</returns>
+			<param name="key">The unique value that is used to identify the object in the cache.</param>
+			<param name="lockHandle">The object that was returned when the object is removed.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Remove(System.String,System.String)">
+			<summary>Removes an object from the cache in a region. Applies to Windows Server AppFabric only.</summary>
+			<returns>True if the object is removed; otherwise, false.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Remove(System.String,Microsoft.ApplicationServer.Caching.DataCacheItemVersion,System.String)">
+			<summary>Removes an object with a specific version from the cache in a region. Applies to Windows Server AppFabric only.</summary>
+			<returns>True if the object is removed; otherwise, false.</returns>
+			<param name="version">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object that represents the version of the cached object that is to be removed.</param>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Remove(System.String,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.String)">
+			<summary>Removes an object from the cache with an associated lock handle in a region. Applies to Windows Server AppFabric only.</summary>
+			<returns>True if the object is removed; otherwise, false.</returns>
+			<param name="region">The name of the region the object resides in.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The object that was returned when the object was removed.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.RemoveCallback(Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor)">
+			<summary>Removes a cache notification callback. Applies to Windows Server AppFabric only.</summary>
+			<param name="nd">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object that identifies the callback that should be removed.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.RemoveRegion(System.String)">
+			<summary>Deletes a region. All cached objects inside the region are also removed. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns true if the region is removed. Returns false if the region does not exist.</returns>
+			<param name="region">The name of the region.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.ResetObjectTimeout(System.String,System.TimeSpan)">
+			<summary>Resets the object timeout value, defining how long objects reside in the cache before expiring. The value specified for the object overrides the default settings for the cache.</summary>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="newTimeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.ResetObjectTimeout(System.String,System.TimeSpan,System.String)">
+			<summary>Resets the object timeout value, defining how long objects reside in the region before expiring. The value specified for the object overrides the default settings for the cache.</summary>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="newTimeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Unlock(System.String,Microsoft.ApplicationServer.Caching.DataCacheLockHandle)">
+			<summary>Releases objects locked in the cache. This method supports pessimistic concurrency by making sure that the appropriate DataCacheLockHandle is used for unlocking the object.</summary>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Unlock(System.String,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.String)">
+			<summary>Releases objects locked in the specified region. This method supports pessimistic concurrency by making sure that the appropriate DataCacheLockHandle is used for unlocking the object. Applies to Windows Server AppFabric only.</summary>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Unlock(System.String,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.TimeSpan)">
+			<summary>Releases objects locked in the cache. This method supports pessimistic concurrency by making sure that the appropriate DataCacheLockHandle is used for unlocking the object. Specifies a new timeout value for the cached object.</summary>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCache.Unlock(System.String,Microsoft.ApplicationServer.Caching.DataCacheLockHandle,System.TimeSpan,System.String)">
+			<summary>Releases objects locked in the specified region. This method supports pessimistic concurrency by making sure that the appropriate DataCacheLockHandle is used for unlocking the object. Specifies a new timeout value for the cached object. Applies to Windows Server AppFabric only.</summary>
+			<param name="region">The name of the region where the object resides.</param>
+			<param name="key">The unique value that is used to identify the object in the region.</param>
+			<param name="lockHandle">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle"></see> object that was returned when the object was locked.</param>
+			<param name="timeout">The amount of time that the object should reside in the cache before expiration.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCache.DefaultTimeToLive">
+			<summary>The default expiration time if no expiration time is provided for new items in the cache.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCache.IsCompressionEnabled">
+			<summary>Specifies whether compression is enabled. At this time, the setting is internal and cannot be changed from the default setting of false.</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCache.Item(System.String)">
+			<summary>Allows for the use of array notation to access cached objects.</summary>
+			<returns>A deserialized object that was saved to the cache that uses the key.</returns>
+			<param name="key">The key that is used to save the cached object.</param>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheBulkNotificationCallback">
+			<summary>Specifies a callback which is called with a list of cache operations. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheFactory">
+			<summary>Provides methods to return <see cref="T:Microsoft.ApplicationServer.Caching.DataCache"></see> objects that are mapped to a named cache. This class also enables programmatic configuration of the cache client.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactory.#ctor">
+			<summary>Used for configuring a cache client based on the application configuration file.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactory.Dispose">
+			<summary>Closes the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheFactory"></see> object and releases all associated resources.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(System.String)">
+			<summary>Returns the cache client, an instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCache"></see> object.</summary>
+			<returns>The cache client, an instance of the DataCache object.</returns>
+			<param name="cacheName">The named cache to use for cache operations. For Windows Azure AppFabric, the cache name must be “default”, which is the same as calling <see cref="M:Microsoft.ApplicationServer.Caching.DataCacheFactory.GetDefaultCache"></see>.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactory.GetDefaultCache">
+			<summary>Returns the cache client corresponding to the default cache, an instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCache"></see> object.</summary>
+			<returns>The cache client, an instance of the DataCache object.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration">
+			<summary>Specifies the configuration settings for a new cache client.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.#ctor">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.#ctor(System.String)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration"></see> class. This overload specifies a specific name for the cache client.</summary>
+			<param name="clientName">The name of the cache client. If the application configuration file specifies multiple named dataCacheClient sections, this parameter can be used to specify which dataCacheClient section to use.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.Clone">
+			<summary>Create a duplicate DataCacheFactoryConfiguration object.</summary>
+			<returns>Returns a<see cref="T:System.Object"></see> that can be cast to a <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.ChannelOpenTimeout">
+			<summary>Gets or sets the length of time that the cache client waits to establish a network connection with the server.</summary>
+			<returns>A <see cref="T:System.TimeSpan"></see> object..</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.IsCompressionEnabled">
+			<summary>Specifies whether compression is enabled. At this time, the setting is internal and cannot be changed from the default setting of false.</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.LocalCacheProperties">
+			<summary>Gets or sets the local cache settings for the cache client.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.MaxConnectionsToServer">
+			<summary>Specifies the maximum number of channels to open to the cache cluster.</summary>
+			<returns>Returns <see cref="T:System.Int32"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.NotificationProperties">
+			<summary>Gets or sets the notification settings for the cache client. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.RequestTimeout">
+			<summary>Gets or sets the length of time that the cache client waits for a response from the server for each request.</summary>
+			<returns>A <see cref="T:System.TimeSpan"></see>object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.SecurityProperties">
+			<summary>Gets or sets the security properties for the cache client.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.Servers">
+			<summary>Gets or sets an array of <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint"></see> objects.</summary>
+			<returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.TransportProperties">
+			<summary>Gets or sets the transport properties for the cache client.</summary>
+			<returns>A <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties"></see>object.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheFailureNotificationCallback">
+			<summary>Specifies the parameters required for a method to be invoked by a failure notification when the cache client misses cache notifications. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties">
+			<summary>Specifies the local cache settings for a cache client.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties.#ctor">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties.#ctor(System.Int64,System.TimeSpan,Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy)">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties"></see> class. This overloaded constructor accepts parameters that configure the properties of local cache.</summary>
+			<param name="defaultTimeout">The time that objects reside in the local cache before invalidation.</param>
+			<param name="invalidationPolicy">The invalidation policy for the local cache. This can be set to either <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy.NotificationBased"></see> or <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy.TimeoutBased"></see>.</param>
+			<param name="objectCount">The maximum number of objects in the local cache.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties.DefaultTimeout">
+			<summary>Gets the default timeout for items in the local cache.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties.InvalidationPolicy">
+			<summary>Gets the invalidation policy for items in the local cache.</summary>
+			<returns>Returns <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties.IsEnabled">
+			<summary>Gets a Boolean value indicating whether local cache is enabled for the cache client.</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheProperties.ObjectCount">
+			<summary>Gets the maximum number of objects permitted in the local cache.</summary>
+			<returns>Returns <see cref="T:System.Int64"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationCallback">
+			<summary>Represents a callback method that is to be invoked by a cache notification when one or more cache operations take place. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor">
+			<summary>Identifies a cache notification callback. This identifier is required to remove the corresponding cache notification callback. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor.ToString">
+			<summary>Creates a copy of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object.</summary>
+			<returns>A string value representing the <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor.CacheName"></see> and <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor.DelegateID"></see> property values.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor.CacheName">
+			<summary>The name of the cache triggering the cache notification.</summary>
+			<returns>A string value represents the name of the cache triggering the cache notification.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor.DelegateId">
+			<summary>Identifier for the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationDescriptor"></see> object. Used to distinguish between DataCacheNotificationDescriptor objects.</summary>
+			<returns>A <see cref="T:System.Int64"></see> value used to identify DataCacheNotificationDescriptor objects.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties">
+			<summary>Specifies the notification settings for a cache client. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties.#ctor(System.Int64,System.TimeSpan)">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties"></see> class.</summary>
+			<param name="maxQueueLength">The maximum queue length for stored notifications on the cache cluster.</param>
+			<param name="pollInterval">The frequency with which the cache client communicates with the server to check for notifications.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties.MaxQueueLength">
+			<summary>Gets the maximum queue length for notifications on the cache cluster.</summary>
+			<returns>Returns <see cref="T:System.Int64"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheNotificationProperties.PollInterval">
+			<summary>Gets the polling interval that the cache client uses to check for notifications on the cache cluster.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint">
+			<summary>Used to specify an individual cache host when programmatically configuring the cache client.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint.#ctor(System.String,System.Int32)">
+			<summary>Used to define a cache host in the cache cluster for programmatic configuration of the cache client.</summary>
+			<param name="cachePort">The cache port number of the cache host.</param>
+			<param name="hostName">The computer name of the cache server or the service URL.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint.CachePort">
+			<summary>The cache port on the cache server.</summary>
+			<returns>A <see cref="T:System.Int32"></see> value that represents the cache port number on the cache server.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint.HostName">
+			<summary>The computer name or service URL of the cache server.</summary>
+			<returns>A string representing the computer name or service URL of the cache server.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider">
+			<summary>A session storage provider that enables Web applications to store session-state data to a distributed cache system.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.#ctor">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.CreateNewStoreData(System.Web.HttpContext,System.Int32)">
+			<summary>Creates a new data storage object for the current request.</summary>
+			<returns>A SessionStateStoreData object, used for storing session data in the distributed cache.</returns>
+			<param name="context">The HttpContext for the current request.</param>
+			<param name="timeout">The session state Timeout value for the new SessionStateStoreData object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.CreateUninitializedItem(System.Web.HttpContext,System.String,System.Int32)">
+			<summary>Adds a new session state to the distributed cache. </summary>
+			<param name="id">The session identifier for the current request.</param>
+			<param name="context">The HttpContext for the current request.</param>
+			<param name="timeout">The session Timeout for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.Dispose">
+			<summary>Releases all resources used by the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.EndRequest(System.Web.HttpContext)">
+			<summary>Called by the SessionStateModule class at the end of a request</summary>
+			<param name="context">The HttpContext for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.GetItem(System.Web.HttpContext,System.String,System.Boolean@,System.TimeSpan@,System.Object@,System.Web.SessionState.SessionStateActions@)">
+			<summary>Returns read-only session-state data from the cache.</summary>
+			<returns>A SessionStateStoreData object populated with session values and information from the cache</returns>
+			<param name="lockAge">When this method returns, contains a TimeSpan object that is set to the period of time that an item in the cache has been locked.</param>
+			<param name="id">The session identifier for the current request.</param>
+			<param name="context">The HttpContext of the current request.</param>
+			<param name="actions">When this method returns, contains one of the SessionStateActions values. This indicates whether the current session is an uninitialized, cookieless session.</param>
+			<param name="locked">When this method returns, contains a Boolean value that is set to true if the requested session item is locked in the cache; otherwise, false.</param>
+			<param name="lockId">When this method returns, contains an object that is set to the lock identifier for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.GetItemExclusive(System.Web.HttpContext,System.String,System.Boolean@,System.TimeSpan@,System.Object@,System.Web.SessionState.SessionStateActions@)">
+			<summary>Returns and locks the read-only session-state data from the cache.</summary>
+			<returns>A SessionStateStoreData object populated with session values and information from the cache.</returns>
+			<param name="lockAge">When this method returns, contains a TimeSpan object that is set to the period of time that an item in the cache has been locked.</param>
+			<param name="id">The session identifier for the current request.</param>
+			<param name="context">The HttpContext of the current request.</param>
+			<param name="actions">When this method returns, contains one of the SessionStateActions values. This indicates whether the current session is an uninitialized, cookieless session.</param>
+			<param name="locked">When this method returns, contains a Boolean value that is set to true if a lock in the cache is successfully obtained; otherwise, false.</param>
+			<param name="lockId">When this method returns, contains an object that is set to the lock identifier for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.Initialize(System.String,System.Collections.Specialized.NameValueCollection)">
+			<summary>Initializes the distributed cache provider.</summary>
+			<param name="name">The name of the application.</param>
+			<param name="config">The configuration details specified in the application configuration file for cacheName and regionName.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.InitializeRequest(System.Web.HttpContext)">
+			<summary>Initializes the outgoing HTTP request.</summary>
+			<param name="context">The context for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.ReleaseItemExclusive(System.Web.HttpContext,System.String,System.Object)">
+			<summary>Releases a lock on the session data in the cache.</summary>
+			<param name="id">The session identifier of the current request.</param>
+			<param name="context">The HttpContext of the current request.</param>
+			<param name="lockId">The lock identifier of the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.RemoveItem(System.Web.HttpContext,System.String,System.Object,System.Web.SessionState.SessionStateStoreData)">
+			<summary>Deletes session data from the cache.</summary>
+			<param name="id">The session identifier of the current request.</param>
+			<param name="context">The HttpContext of the current request.</param>
+			<param name="item">The SessionStateStoreData that represents the item to delete from the cache.</param>
+			<param name="lockId">The lock identifier of the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.ResetItemTimeout(System.Web.HttpContext,System.String)">
+			<summary>Updates the expiration date and time of session data in the cache.</summary>
+			<param name="id">The session identifier of the current request.</param>
+			<param name="context">The context for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.SetAndReleaseItemExclusive(System.Web.HttpContext,System.String,System.Web.SessionState.SessionStateStoreData,System.Object,System.Boolean)">
+			<summary>Updates the session item information in the cache with values from the current request and clears the lock on the session item.</summary>
+			<param name="id">The session identifier of the current request..</param>
+			<param name="context">The HttpContext of the current request.</param>
+			<param name="newItem">If true, identifies the session item as a new item if true; otherwise, identifies the session item as an existing item.</param>
+			<param name="item">The SessionStateStoreData object that contains the current session values to be stored.</param>
+			<param name="lockId">The lock identifier for the current request.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.SetItemExpireCallback(System.Web.SessionState.SessionStateItemExpireCallback)">
+			<summary>Sets a reference to the SessionStateItemExpireCallback delegate for the Session_OnEnd event defined in the Global.asax file.</summary>
+			<returns>Cache does not support notification of the expiration; therefore this method always returns false.</returns>
+			<param name="expireCallback">The SessionStateItemExpireCallback delegate for the Session_OnEnd event defined in the Global.asax file.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider.ApplicationName">
+			<summary>The application name. This is used to differentiate sessions in the data source by application.</summary>
+			<returns>Returns <see cref="T:System.String"></see>.</returns>
+		</member>
+	</members>
+</doc>

BIN
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Core.dll


+ 920 - 0
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.ApplicationServer.Caching.Core.xml

@@ -0,0 +1,920 @@
+<?xml version="1.0" encoding="utf-8"?>
+<doc>
+	<assembly>
+		<name>Microsoft.ApplicationServer.Caching.Core</name>
+	</assembly>
+	<members>
+		<member name="N:Microsoft.ApplicationServer.Caching">
+			<summary>The Microsoft.ApplicationServer.Caching namespace provides access to an in-memory application cache application for developing scalable, high-performance applications. This namespace can be used to cache any serializable common language runtime (CLR) object and provides access through simple APIs.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.BaseOperationNotification">
+			<summary>The base class for an event used for notifications. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.BaseOperationNotification.#ctor(System.String,Microsoft.ApplicationServer.Caching.DataCacheOperations,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.BaseOperationNotification"></see> class. Applies to Windows Server AppFabric only.</summary>
+			<param name="version">Version of the operation which caused the notification.</param>
+			<param name="cacheName">Name of the cache in which the operation occurred.</param>
+			<param name="opType">Type of the operation which caused the notification.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.BaseOperationNotification.ToString">
+			<summary>Returns the string representation of the BaseOperationNotification event. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns <see cref="T:System.String"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.BaseOperationNotification.CacheName">
+			<summary>Name of the cache in which the operation occurred. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns <see cref="T:System.String"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.BaseOperationNotification.OperationType">
+			<summary>The type of the operation which caused the notification. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheOperations"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.BaseOperationNotification.Version">
+			<summary>The version of the operation which caused the notification. Applies to Windows Server AppFabric only.</summary>
+			<returns>Returns <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.ConfigStoreEntry">
+			<summary>Represents a key-value pair that can be used by a custom provider for the cache cluster configuration store. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ConfigStoreEntry.#ctor(System.String,System.Byte[],System.Int64)">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreEntry"></see> class. Applies to Windows Server AppFabric only.</summary>
+			<param name="version">The version of the entry.</param>
+			<param name="key">The key of the entry.</param>
+			<param name="value">The value of the entry.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.ConfigStoreEntry.Key">
+			<summary>The key of the entry. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:System.String"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.ConfigStoreEntry.Version">
+			<summary>The version of the entry. Applies to Windows Server AppFabric only.</summary>
+			<returns>A <see cref="T:System.Int64"></see> value that is greater than 0.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.ConfigStoreException">
+			<summary>An exception that should be thrown from an implementation of the <see cref="T:Microsoft.ApplicationServer.Caching.ICustomProvider"></see> interface. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ConfigStoreException.#ctor">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreException"></see> class. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ConfigStoreException.#ctor(System.String)">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreException"></see> class. Applies to Windows Server AppFabric only.</summary>
+			<param name="exceptionMessage">The message string that describes the error.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ConfigStoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreException"></see> class. Applies to Windows Server AppFabric only.</summary>
+			<param name="context">The contextual information about the source or destination.</param>
+			<param name="info">The object that holds the serialized object data.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ConfigStoreException.#ctor(System.String,System.Exception)">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreException"></see> class. Applies to Windows Server AppFabric only.</summary>
+			<param name="inner">The inner exception that caused the current exception.</param>
+			<param name="exceptionMessage">The message string that describes the error.</param>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheClientLogManager">
+			<summary>Provides support for changing the logging level of Windows Azure AppFabric caching.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheClientLogManager.ChangeLogLevel(System.Diagnostics.TraceLevel)">
+			<summary>Changes the logging level of the Event Tracing for Windows (ETW) log for Windows Azure AppFabric caching.</summary>
+			<returns>Returns <see cref="T:System.Diagnostics.TraceLevel"></see>.</returns>
+			<param name="level">The trace level for the log.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheClientLogManager.SetSink(Microsoft.ApplicationServer.Caching.DataCacheTraceSink,System.Diagnostics.TraceLevel)">
+			<summary>Enables tracing for a cache client. Applies to Windows Server AppFabric only.</summary>
+			<param name="traceSink">The type of tracing. This can be set to <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheTraceSink.DiagnosticSink"></see> or <see cref="F:Microsoft.ApplicationServer.Caching.DataCacheTraceSink.EtwSink"></see>.</param>
+			<param name="traceLevel">The <see cref="T:System.Diagnostics.TraceLevel"></see> trace level.</param>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheErrorCode">
+			<summary>A static class used to store global error codes.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.AcsTokenRequestFailedAuthError">
+			<summary>The ACS token provided failed the authentication process.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.AdminAlreadyConfigured">
+			<summary>Cache Administration is already configured on the machine.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.AdminNotConfigured">
+			<summary>Cache Administration is not configured on the machine.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.AuthorizationTokenNotValid">
+			<summary>The authentication token provided is not in a valid format.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminCacheAlreadyPresent">
+			<summary>The named cache already exists in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminCacheConfigWriteError">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminCacheCreationInconsistencyFailure">
+			<summary>The named cache could not be created due to a detected inconsistency in the configuration store.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminCacheNotPresent">
+			<summary>The specified named cache does not exist in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminCancelShutdownError">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminClusterDown">
+			<summary>The cache cluster is not running.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminClusterNotReady">
+			<summary>The cache cluster is not ready to perform the requested operation.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminClusterRefreshFailed">
+			<summary>The cache cluster experienced an error while attempting to refresh the list of cache hosts on all of the cache hosts.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminClusterSettingsNotProvided">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminClusterSettingsReadError">
+			<summary>An error occurred attempting to read the configuration store provider name and connection string from the registry.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminClusterTimeout">
+			<summary>A Cache Administration timeout occurred.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminConfigAddHostError">
+			<summary>An error occurred attempt to add a cache host to the cache cluster configuration store.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminConfigDeleteHostError">
+			<summary>An error occurred attempting to delete a cache host from the cache cluster configuration store.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminDefaultCacheCreateFailure">
+			<summary>An error occurred while creating the default cache.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminDeleteInProgress">
+			<summary>The specified cache is in the process of being removed.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminGrantClientAccountErrorFormat">
+			<summary>An error occurred attempting to add an account to the allowed client accounts list.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostConfigWriteError">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostNameResolveFailure">
+			<summary>The name 'localhost' is unable to be resolved to the current host name.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostNotPresent">
+			<summary>The specified cache host is not part of the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostNotReachable">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostNotRunning">
+			<summary>The specified cache host is not currently running.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostOperationError">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostRefreshFailed">
+			<summary>The cache cluster experienced an error while attempting to refresh the list of cache hosts on each of the specified cache host.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostRunning">
+			<summary>The specified cache host is already in the running state.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostsNotRunning">
+			<summary>No cache hosts are running in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminHostsRunning">
+			<summary>One or more cache hosts are running in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminIncompleteParameters">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInstallPathReadError">
+			<summary>An error occurred reading the installation path from the registry.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInvalidCacheName">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInvalidClusterSettings">
+			<summary>The specified provider string or connection string is invalid. </summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInvalidOperation">
+			<summary>The specified operation is invalid.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInvalidParameters">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInvalidParametersForHost">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminInvalidSecuritySettings">
+			<summary>The specified security settings are invalid.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminMaxCachesCreated">
+			<summary>The specified named cache cannot be created, because the cache cluster has reached the maximum number of named caches.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminMinSecondariesOutOfBounds">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminNoHosts">
+			<summary>There are no cache hosts in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminNoQuorumIfHostStopped">
+			<summary>The specified host cannot be stopped, because the number of hosts would drop below the required quorum.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminNoSeedNodes">
+			<summary>There are no seed nodes present in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminNoValuesProvided">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminNullArgs">
+			<summary>A required argument is null.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminNullProviderSettingsKey">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminOperationError">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminOperationNotSupported">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminPortsDuplicated">
+			<summary>One or more port numbers have duplicate values.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminProviderTypeUnspecified">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminQuorumNotUp">
+			<summary>The required quorum of hosts is not running.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminRegionNotPresent">
+			<summary>The specified region does not exist in the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminRemoteRegistryAccessFailed">
+			<summary>An error occurred while attempting to access the registry on a remote cache host.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminRequestTimeoutResultUnknown">
+			<summary>The request timed out, but the result of the request is unknown.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminRevokeClientAccountErrorFormat">
+			<summary>An error occurred attempting to remove an account from the list of allowed client accounts.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminShutdownInProgress">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminShutdownNotInProgress">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminStatsIncorrect">
+			<summary>The returned status information might be incorrect, because one or more cache hosts could not be reached.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminStoreAccessFailure">
+			<summary>An error occurred attempting to access the cache cluster configuration store.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminTimeout">
+			<summary>A timeout occurred.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminUnknownError">
+			<summary>An unknown error occurred.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminWindowsAccountAlreadyPresent">
+			<summary>The specified Windows account already exists in the list of allowed client accounts.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminWindowsAccountInvalid">
+			<summary>The specified Windows account is not valid.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheAdminWindowsAccountNotPresent">
+			<summary>The specified Windows account is not present in the list of allowed client accounts.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheDisabled">
+			<summary>The cache has been disabled. One possible cause could be a failure to reconcile charges associated with the specified cache.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CacheItemVersionMismatch">
+			<summary>The object in the cache does not match with the specified version.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.CcrUnhandledException">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ClientServerVersionMismatch">
+			<summary>The cache client assemblies are a different version than the cache host assemblies.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ClusterAlreadyInitialized">
+			<summary>The cache cluster has already been initialized.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ClusterConfigConnectionError">
+			<summary>An error occurred while attempting to connect to the cache cluster configuration store.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ClusterConfigReadError">
+			<summary>An error occurred while reading the cache cluster configuration store.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ClusterNotInitialized">
+			<summary>The cache cluster is not initialized.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ConfigurationStateSaveError">
+			<summary>An error occurred while attempting to save the configuration state.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ConnectionSettingsRegistrySaveError">
+			<summary>An error occurred while attempting to save the connection settings to the registry.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ConnectionTerminated">
+			<summary>The connection was terminated. This could be caused by server or network problems.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.DomainBlockedAccount">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.GetComputerDomainError">
+			<summary>An error occurred while attempting to get the computer domain.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.HostAdditionFailureError">
+			<summary>An error occurred while attempting to add a cache host to the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.HostAlreadyPresent">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.HostDeletionFailureError">
+			<summary>An error occurred while attempting to remove a host from the cache cluster.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.HostEntryNotFound">
+			<summary>The specified cache host entry was not found in the cache cluster configuration.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.IncompleteConnectionParameters">
+			<summary>The specified connection parameters are incomplete.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.InstallPathMissingError">
+			<summary>An error occurred while attempting to read the install path from the registry.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.InvalidArgument">
+			<summary>The argument is not valid.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.InvalidCacheLockHandle">
+			<summary>The specified lock handle is not valid.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.InvalidEnumerator">
+			<summary>An invalid enumerator is specified.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.KeyAlreadyExists">
+			<summary>The key is already present in the cache or region.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.KeyDoesNotExist">
+			<summary>An object cached with the specified key does not exist in the cache or region.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.MaxNamedCacheCountExceeded">
+			<summary>The named cache count exceeded the maximum value.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NamedCacheDoesNotExist">
+			<summary>The named cache does not exist.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NetworkShareAsLocalPathError">
+			<summary>A network path was expected, but a local path was provided.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NetworkShareFilePermissionsError">
+			<summary>The specified network file share does not have appropriate permissions.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NetworkShareFolderConnectionError">
+			<summary>An error occurred while attempting to connect to the shared network folder.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NewNetworkShareSetupError">
+			<summary>An error occurred attempting to write the configuration store files at the specified shared network folder.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NonDomainBlockedAccount">
+			<summary>The domain account is blocked for the workgroup configuration.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NonDomainNWService">
+			<summary>The Network Service account is not permitted for a workgroup-based configuration of the Caching Service.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.NotificationInvalidationNotSupported">
+			<summary>Cache notifications are not supported because the named cache has been created without notifications enabled.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ObjectLocked">
+			<summary>The cached object has already been locked.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ObjectNotLocked">
+			<summary>The object is not locked.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.OperationNotSupported">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.PermissionsError">
+			<summary>An error occurred while setting permissions on the cache cluster configuration.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.PortAlreadyInUseError">
+			<summary>The specified port is already in-use.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.PortDuplicationError">
+			<summary>One or more ports have duplicate values.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ReadThroughProviderDidNotReturnResult">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ReadThroughProviderFailure">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ReadThroughProviderNotFound">
+			<summary>Internal.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.RegionAlreadyExists">
+			<summary>The region already exists.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.RegionDoesNotExist">
+			<summary>The region does not exist.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.RegistryAccessFailed">
+			<summary>An error occurred while attempting to access the registry.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.RegistryKeyOpenFailure">
+			<summary>An error occurred while attempting to open a registry key for reading.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.RetryLater">
+			<summary>Temporary failure, retry the operation later.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.SerializationException">
+			<summary>An exception was encountered during object serialization.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ServerNull">
+			<summary>The server passed to the <see cref="T:Microsoft.Data.Caching.DataCacheFactory"></see> constructor is null.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ServiceAccessError">
+			<summary>An error occurred while accessing the Caching Service.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ServiceAlreadyConfigured">
+			<summary>The Caching Service is already configured on the specified cache host.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ServiceNotConfigured">
+			<summary>The Caching Service is not configured on the specified cache host.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.ServiceNotStopped">
+			<summary>The operation cannot be completed, because the Caching Service is still running.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.SqlAuthenticationNotSupported">
+			<summary>SQL Server authentication is not permitted with the SQL Server provider for the cache cluster configuration store. Windows authentication must be used.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.TestConnectionFailed">
+			<summary>The test connection failed.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.Timeout">
+			<summary>Communications with the cache cluster has experienced a delay past the timeout value.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.UndefinedError">
+			<summary>An unknown error has occurred.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorCode.UsageResourceNotFound">
+			<summary>Internal.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus">
+			<summary>Used to retrieve substatus codes for errors returned to the client.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.CacheServerUnavailable">
+			<summary>The primary cache server is unavailable.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.KeyLatched">
+			<summary>The client failed to update a key when adding or replacing an object in the cache.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.None">
+			<summary>There is no specific substatus code.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.NotPrimary">
+			<summary>The request did not find the primary server.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.NoWriteQuorum">
+			<summary>Unable to satisfy the specified write quorum of cache hosts.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.QuotaExceeded">
+			<summary>A resource quota for the Windows Azure AppFabric caching namespace has been exceeded.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.ReadThroughKeyContention">
+			<summary>internal</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.ReplicationQueueFull">
+			<summary>The replication queue is full.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.ServiceMemoryShortage">
+			<summary>The memory available for the caching service is low.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheErrorSubStatus.Throttled">
+			<summary>The requested operation failed, because the required cache host is in a throttled state.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheException">
+			<summary>Used for cache-related exceptions.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheException.#ctor">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheException"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheException.#ctor(System.String)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheException"></see> class; allows you to provide a message with the exception.</summary>
+			<param name="message">The message describing the exception.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheException"></see> class; allows you to provide serialization information with the exception.</summary>
+			<param name="context">Describes the source, destination, and context of a serialized stream.</param>
+			<param name="info">Stores serialization information about an object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheException.#ctor(System.String,System.Exception)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheException"></see> class; allows you to provide a message and another exception with the exception.</summary>
+			<param name="innerException">Another exception related to this exception.</param>
+			<param name="message">The message describing the exception.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+			<summary>The interface that is used for serialization.</summary>
+			<param name="context">The StreamingContext class used to describe the source and destination of the exception.</param>
+			<param name="info">The SerializationInfo class used to store all the data that you need to serialize the exception.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheException.ErrorCode">
+			<summary>The integer used to identify the type of exception encountered.</summary>
+			<returns>An <see cref="T:System.Int32"></see> specifying the type of exception encountered.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheException.HelpLink">
+			<summary>A link to help for the exception.</summary>
+			<returns>Returns <see cref="T:System.String"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheException.Message">
+			<summary>The description of the exception encountered.</summary>
+			<returns>A <see cref="T:System.String"></see> that describes the type of exception encountered.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheException.SubStatus">
+			<summary>The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheErrorSubstatus"></see> of the exception encountered.</summary>
+			<returns>An <see cref="T:System.Int32"></see> indicating the exception substatus.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheException.TrackingId">
+			<summary>The tracking identifier related to the exception. Only valid if tracing is enabled.</summary>
+			<returns>Returns <see cref="T:System.Guid"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheItem">
+			<summary>Used to retrieve all information associated with the cached object in the cluster.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItem.#ctor">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItem"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItem.ToString">
+			<summary>Creates a string representation of the DataCacheItem object.</summary>
+			<returns>Returns <see cref="T:System.String"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.CacheName">
+			<summary>The name of the cache where the object is stored.</summary>
+			<returns>A string value that represents the name of the cache where the object is stored.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.Key">
+			<summary>The identifier that is used to distinguish the cached object in the cache or region.</summary>
+			<returns>A string value that represents the identifier that is used to distinguish the cached object in the cache or region.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.RegionName">
+			<summary>If applicable, the name of the region where the object is stored.</summary>
+			<returns>A string value that represents, if applicable, the name of the region where the object is stored.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.Size">
+			<summary>The approximate size of the cached item. This field is intended for internal use only.</summary>
+			<returns>Returns <see cref="T:System.Int32"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.Tags">
+			<summary>A generic list of tags associated with the cached object.</summary>
+			<returns>An generic list of <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> objects associated with the cached object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.Timeout">
+			<summary>Specifies the length of time for which the object will remain in the cache.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.Value">
+			<summary>The object stored in cache.</summary>
+			<returns>An object representing the deserialized form of the cached object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheItem.Version">
+			<summary>The version of the cached object.</summary>
+			<returns>The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion">
+			<summary>Used to represent the version of a cached object.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.CompareTo(Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Used to compare two versions of the same item, specified with the same key.</summary>
+			<returns>An <see cref="T:System.Int32"></see>value: 0 if the versions are equal, greater than zero if the instance is greater than the version parameter value, or less than zero if the instance is less than the version parameter value.</returns>
+			<param name="other">The <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> to be compared.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.Equals(System.Object)">
+			<summary>Used to determine whether another object is the same.</summary>
+			<returns>A <see cref="T:System.Boolean"></see>value: true, if the objects are the same; false, if they are different.</returns>
+			<param name="obj">Another object for comparison.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.GetHashCode">
+			<summary>Returns the hash code of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> object.</summary>
+			<returns>An <see cref="T:System.Int32"></see>value that represents the hash code of the DataCacheItemVersion object.</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.IsEmpty(Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Indicates whether the DataCacheItemVersion object points to a null version. This is intended for internal use only.</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
+			<param name="version">The DataCacheItemVersion object to examine.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.op_Equality(Microsoft.ApplicationServer.Caching.DataCacheItemVersion,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Indicates whether the two <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> objects are equal.</summary>
+			<returns>True if the two specified objects are equal; otherwise, false.</returns>
+			<param name="right">The second object to compare.</param>
+			<param name="left">The first object to compare.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.op_GreaterThan(Microsoft.ApplicationServer.Caching.DataCacheItemVersion,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Indicates whether the first object is greater than the second object.</summary>
+			<returns>True if the first object is greater than the second object; otherwise, false.</returns>
+			<param name="right">The second object to compare.</param>
+			<param name="left">The first object to compare.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.op_Inequality(Microsoft.ApplicationServer.Caching.DataCacheItemVersion,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Indicates whether the two <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheItemVersion"></see> objects are unequal.</summary>
+			<returns>True if the two objects are not equal; otherwise, false.</returns>
+			<param name="right">The second object to compare.</param>
+			<param name="left">The first object to compare.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheItemVersion.op_LessThan(Microsoft.ApplicationServer.Caching.DataCacheItemVersion,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Indicates whether the value of the first object is less than the second object.</summary>
+			<returns>True if the value of the first object is less than the value of the second object; otherwise, false.</returns>
+			<param name="right">The second object to compare.</param>
+			<param name="left">The first object to compare.</param>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy">
+			<summary>Specifies the way locally cached objects should be invalidated.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy.NotificationBased">
+			<summary>Specifies that objects will stay in local cache until they are automatically invalidated by a cache notification.  Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheLocalCacheInvalidationPolicy.TimeoutBased">
+			<summary>Specifies that objects will stay in local cache until their lifetime reaches the localCacheTimeout duration specified in the DataCacheFactory constructor. </summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheLockHandle">
+			<summary>Represents the structure used as a key to lock and unlock cached objects in a pessimistic concurrency scenario.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheLockHandle.ToString">
+			<summary>Returns the specified object to string.</summary>
+			<returns>A string that represents the object.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor">
+			<summary>Represents a notification event for operations performed against the cache, such as Add or Remove. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.#ctor(System.String,System.String,System.String,Microsoft.ApplicationServer.Caching.DataCacheOperations,Microsoft.ApplicationServer.Caching.DataCacheItemVersion)">
+			<summary>Creates a new instance of the DataCacheOperationDescriptor class using the specified parameters. Applies to Windows Server AppFabric only.</summary>
+			<param name="version">The version of the cached object.</param>
+			<param name="key">The key used to store the object in the cache.</param>
+			<param name="cacheName">Name of the cache in which the operation occurred.</param>
+			<param name="regionName">The name of the region where the object is stored.</param>
+			<param name="opType">The type of operation that occurred.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.ToString">
+			<summary>Returns the string representation of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor"></see> object.</summary>
+			<returns>A string representing the current value of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.Key">
+			<summary>Returns the <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.Key"></see> property.</summary>
+			<returns>A string representing the current value of the <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.Key"></see> property.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.RegionName">
+			<summary>Returns the <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.RegionName"></see> property.</summary>
+			<returns>A string representing the current value of the <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheOperationDescriptor.RegionName"></see> property.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheOperations">
+			<summary>An enumeration used to specify specific item or region events that can trigger a cache notification.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheOperations.AddItem">
+			<summary>Indicates that an object was added to the cache.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheOperations.ClearRegion">
+			<summary>Indicates that a region in the cache was cleared with the <see cref="M:Microsoft.ApplicationServer.Caching.DataCache.ClearRegion(System.String)"></see> method.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheOperations.CreateRegion">
+			<summary>Indicates that a region in the cache was created with the <see cref="M:Microsoft.ApplicationServer.Caching.DataCache.CreateRegion(System.String,System.Boolean)"></see> method. </summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheOperations.RemoveItem">
+			<summary>Indicates that an object was removed from the cache. </summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheOperations.RemoveRegion">
+			<summary>Indicates that a region in the cache was removed with the <see cref="M:Microsoft.ApplicationServer.Caching.DataCache.RemoveRegion(System.String)"></see> method. </summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheOperations.ReplaceItem">
+			<summary>Indicates that an object was replaced in the cache. </summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel">
+			<summary>Enumeration indicating whether data sent between client and server is signed and/or encrypted.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel.EncryptAndSign">
+			<summary>Indicates both encryption and signing are used.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel.None">
+			<summary>Indicates that neither encryption nor signing is used.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel.Sign">
+			<summary>Indicates that signing without encryption is used.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity">
+			<summary>Used to enable signing and/or encryption of data sent between client and server.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSecurity.#ctor">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSecurity.#ctor(System.Security.SecureString)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> class. Applies to Windows Azure AppFabric only.</summary>
+			<param name="authorizationToken">A SecureString object that contains the authorization token from the azureportal1.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheSecurity.#ctor(Microsoft.ApplicationServer.Caching.DataCacheSecurityMode,Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> class, allows you to specify the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurityMode"></see> and <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel"></see> for the instance. Applies to Windows Server AppFabric only.</summary>
+			<param name="securityMode">Enumeration indicating if channel security is disabled by setting to None; or if channel security is enabled by setting to Transport.</param>
+			<param name="protectionLevel">Enumeration indicating whether data sent between client and server is signed and/or encrypted.</param>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheSecurity.ProtectionLevel">
+			<summary>The <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheSecurity.ProtectionLevel"></see> set for the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> object.</summary>
+			<returns>Returns the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheProtectionLevel"></see> set for the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> object.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheSecurity.SecurityMode">
+			<summary>The <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheSecurity.SecurityMode"></see> set for the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> object.</summary>
+			<returns>Returns the <see cref="P:Microsoft.ApplicationServer.Caching.DataCacheSecurity.SecurityMode"></see> set for the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheSecurity"></see> object.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheSecurityMode">
+			<summary>Enumeration indicating whether channel security is enabled for data sent between client and server.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheSecurityMode.Message">
+			<summary>Specifies that message security is used. This is the security mode required for Windows Azure AppFabric caches, which use the Access Control Service (ACS).</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheSecurityMode.None">
+			<summary>Specifies that no security is enabled.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheSecurityMode.Transport">
+			<summary>Specifies that transport security is enabled.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheTag">
+			<summary>Represents an optional string-based identifier that you can associate with a cached object. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheTag.#ctor(System.String)">
+			<summary>Initializes a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> class. Applies to Windows Server AppFabric only.</summary>
+			<param name="tag">The string-based identifier to associate with a cached object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheTag.Equals(System.Object)">
+			<summary>Compares the current DataCacheTag object for equality with the specified DataCacheTag object.</summary>
+			<returns>True if the object implements the ToString method and its value is the same as the string representation of the current DataCacheTag; otherwise, false.</returns>
+			<param name="obj">The object whose string representation is compared for equality to the current <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheTag.GetHashCode">
+			<summary>Returns the hash code for the current <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> object.</summary>
+			<returns>An integer representing the hash code for the current DataCacheTag object.</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheTag.ToString">
+			<summary>Returns the string representation of the current <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTag"></see> object.</summary>
+			<returns>A string representing the current value of the DataCacheTag object</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheTraceSink">
+			<summary>Provides fields that specify the type of cache client tracing to use with the <see cref="M:Microsoft.ApplicationServer.Caching.DataCacheClientLogManager.SetSink(Microsoft.ApplicationServer.Caching.DataCacheTraceSink,System.Diagnostics.TraceLevel)"></see> method. Applies to Windows Azure AppFabric only.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheTraceSink.DiagnosticSink">
+			<summary>A trace sink that uses standard Windows Azure AppFabric diagnostics. Applies to Windows Azure AppFabric only.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.DataCacheTraceSink.EtwSink">
+			<summary>A trace sink that uses Event Tracing for Windows (ETW) to record the trace data. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties">
+			<summary>Specifies the transport settings for a cache client.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.#ctor">
+			<summary>Creates a new instance of the <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties"></see> class.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.Clone">
+			<summary>Creates a copy of the current <see cref="T:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties"></see> object.</summary>
+			<returns>Returns <see cref="T:System.Object"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.ChannelInitializationTimeout">
+			<summary>Gets or sets the length of time to wait for a WCF channel initialization before timing out.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.ConnectionBufferSize">
+			<summary>Gets or sets the size of the receive buffers used by transport channels.</summary>
+			<returns>Returns <see cref="T:System.Int32"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.MaxBufferPoolSize">
+			<summary>Gets or sets the maximum buffer pool size used by the WCF buffer manager.</summary>
+			<returns>Returns <see cref="T:System.Int64"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.MaxBufferSize">
+			<summary>Gets or sets the maximum buffer size.</summary>
+			<returns>Returns <see cref="T:System.Int32"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.MaxOutputDelay">
+			<summary>Gets or sets the maximum length of time to wait before requests are batched and sent to the client.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="P:Microsoft.ApplicationServer.Caching.DataCacheTransportProperties.ReceiveTimeout">
+			<summary>Gets or sets the length of time to wait for a request before aborting the channel.</summary>
+			<returns>Returns <see cref="T:System.TimeSpan"></see>.</returns>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.EvictionType">
+			<summary>Specifies the eviction used for a cache. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.EvictionType.Lru">
+			<summary>The cache uses an eviction policy of Least-Recently-Used (LRU).</summary>
+		</member>
+		<member name="F:Microsoft.ApplicationServer.Caching.EvictionType.None">
+			<summary>The cache does not evict objects.</summary>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.ICustomProvider">
+			<summary>Represent an ICustomProvider interface. Applies to Windows Server AppFabric only.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.AddUser(System.String,System.String)">
+			<summary>Adds a Windows account to the list of allowed users that have access to the configuration store..</summary>
+			<returns>Returns a<see cref="T:System.Object"></see> that can be passed to the <see cref="M:Microsoft.ApplicationServer.Caching.ICustomProvider.RemoveUser(System.String,System.String,System.Object)"></see> method in the case of a rollback.</returns>
+			<param name="user">The user name.</param>
+			<param name="machine">The machine name.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.BeginTransaction">
+			<summary>Begins a transaction to provide isolation from other configuration store access.</summary>
+			<returns>Returns a<see cref="T:System.Object"></see> that represents the transaction context..</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Cleanup">
+			<summary>Enables the provider to clean up any data in the cache cluster configuration store.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Delete(System.Object,System.String)">
+			<summary>Deletes an existing entry from the configuration store.</summary>
+			<param name="transactionContext">The transaction context object associated with this entry.</param>
+			<param name="type">The type of entry to be enumerated.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Delete(System.Object,System.String,System.String,System.Int64)">
+			<summary>Deletes an existing entry from the configuration store.</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>. If the deletion succeeds, the return value is true. If the entry does not exist or if the version does not match, the return value is false.</returns>
+			<param name="oldVersion">The version of the entry. If this value is less than or equal to 0, the deletion occurs regardless of the version. If this value is greater than 0, then the deletion is only performed if the version of the entry matches the version provided.</param>
+			<param name="key">The key of the entry.</param>
+			<param name="transactionContext">The transaction context object associated with this entry.</param>
+			<param name="type">The type of entry to be enumerated.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.EndTransaction(System.Object,System.Boolean)">
+			<summary>Commits or rollbacks a transaction previously started with the <see cref="M:Microsoft.ApplicationServer.Caching.ICustomProvider.BeginTransaction"></see> method.</summary>
+			<param name="transactionContext">An object that represents the transaction context. This object is returned from the <see cref="M:Microsoft.ApplicationServer.Caching.ICustomProvider.BeginTransaction"></see> method.</param>
+			<param name="rollback">If true, the transaction should be rolled back. If false, the transaction should be committed.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.GetCurrentVersion(System.Object,System.String,System.String)">
+			<returns>Returns <see cref="T:System.Int64"></see>.</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.GetEntries(System.Object,System.String)">
+			<summary>Enumerates all the entries of the specified type.</summary>
+			<returns>Returns a<see cref="T:System.Collections.Generic.ICollection`1"></see> of entries.</returns>
+			<param name="transactionContext">The transaction context object.</param>
+			<param name="type">The type of entry to enumerate.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.GetEntry(System.Object,System.String,System.String)">
+			<summary>Retrieves a <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreEntry"></see> object from the configuration store.</summary>
+			<returns>Returns a<see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreEntry"></see> object.</returns>
+			<param name="key">The key of the entry.</param>
+			<param name="transactionContext">The transaction context object.</param>
+			<param name="type">The type of the entry.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.GetStoreUtcTime(System.Object)">
+			<summary>Obtains the current UTC time based on the clock for the configuration store.</summary>
+			<returns>Returns <see cref="T:System.DateTime"></see>.</returns>
+			<param name="transactionContext">The transaction context object.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.GetValue(System.Object,System.String,System.String)">
+			<summary>Retrieves the value of a specific entry in the configuration store.</summary>
+			<returns>The value of a specified entry in the configuration store.</returns>
+			<param name="key">The key for the entry.</param>
+			<param name="transactionContext">The transaction context.</param>
+			<param name="type">The type of the entry.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Initialize">
+			<summary>Enables the custom provider to initialize the cache cluster configuration store.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Insert(System.Object,System.String,System.String,System.Byte[],System.Int64)">
+			<summary>Inserts an entry into the configuration store.</summary>
+			<returns>Return true if the entry is successfully inserted. Return false if the entry with the same key and type already exists. For all other failures, a <see cref="T:Microsoft.ApplicationServer.Caching.ConfigStoreException"></see> must be thrown.</returns>
+			<param name="version">The version of the entry.</param>
+			<param name="key">The key of the entry.</param>
+			<param name="transactionContext">The transaction context object.</param>
+			<param name="type">The type of the entry.</param>
+			<param name="data">The value of the entry.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.IsInitialized">
+			<summary>Gets the initialization status of the configuration store.</summary>
+			<returns>Returns true if the configuration store is initialized.</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Open(System.String)">
+			<summary>Initializes the configuration store with a connection string that is used for subsequent calls.</summary>
+			<param name="connectionString">The connection string to the configuration store.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.RemoveUser(System.String,System.String,System.Object)">
+			<summary>Removes a Windows account from the list of accounts that have permission t the access the configuration store.</summary>
+			<param name="user">The user name.</param>
+			<param name="state">An object that represents the state if this call is being used to rollback a previous call to <see cref="M:Microsoft.ApplicationServer.Caching.ICustomProvider.AddUser(System.String,System.String)"></see>.</param>
+			<param name="machine">The machine name.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.RetrieveStoreVersion">
+			<summary>Retrieves the version of the configuration store.</summary>
+			<returns>Returns <see cref="T:System.Version"></see>.</returns>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.TestConnection">
+			<summary>Determines whether the configuration store is available.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.ICustomProvider.Update(System.Object,System.String,System.String,System.Byte[],System.Int64)">
+			<summary>Updates an entry in the store.</summary>
+			<returns>Returns <see cref="T:System.Boolean"></see>. If the update succeeds, the return value is true. If the entry does not exist or if the version does not match, the return value is false.</returns>
+			<param name="oldVersion">The version of the entry. If this value is less than or equal to 0, the update occurs regardless of the version. If this value is greater than 0, then the update is only performed if the version of the entry matches the version provided.</param>
+			<param name="key">The key of the entry.</param>
+			<param name="transactionContext">The transaction context object.</param>
+			<param name="type">The type of the entry.</param>
+			<param name="data">The updated value of the entry.</param>
+		</member>
+		<member name="T:Microsoft.ApplicationServer.Caching.SafeStreamWriter">
+			<summary>Internal.</summary>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.SafeStreamWriter.#ctor(System.IO.Stream)">
+			<summary>Internal.</summary>
+			<param name="stream">Internal.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.SafeStreamWriter.#ctor(System.String)">
+			<summary>Internal.</summary>
+			<param name="path">Internal.</param>
+		</member>
+		<member name="M:Microsoft.ApplicationServer.Caching.SafeStreamWriter.#ctor(System.String,System.Boolean)">
+			<summary>Internal.</summary>
+			<param name="path">Internal.</param>
+			<param name="append">Internal.</param>
+		</member>
+	</members>
+</doc>

BIN
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.Web.DistributedCache.dll


BIN
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.WindowsFabric.Common.dll


BIN
servicestack/lib/WindowsAzure.Caching.1.7.0.0/lib/net35-full/Microsoft.WindowsFabric.Data.Common.dll


+ 15 - 1
servicestack/src/AppHost.cs

@@ -5,8 +5,11 @@ using System.Collections.Generic;
 
 using ServiceStack;
 using ServiceStack.Api.Swagger;
+using ServiceStack.CacheAccess;
+using ServiceStack.CacheAccess.Providers;
 using ServiceStack.Common;
 using ServiceStack.Common.Web;
+using ServiceStack.Redis;
 using ServiceStack.ServiceHost;
 using ServiceStack.WebHost.Endpoints;
 using ServiceStack.WebHost.Endpoints.Formats;
@@ -54,6 +57,12 @@ namespace ServiceStackBenchmark
             // Initialize Databases
             InitDatabases(container);
 
+            // Register Cache Clients
+            container.Register<ICacheClient>(new MemoryCacheClient());
+
+            // Register Redis Client Manager
+            container.Register<IRedisClientsManager>(c =>
+                new PooledRedisClientManager("localhost:6379"));
 		}
 
         private static void InitDatabases(Funq.Container container)
@@ -151,7 +160,6 @@ namespace ServiceStackBenchmark
 
             SetConfig(new EndpointHostConfig
             {
-                DefaultRedirectPath = "/swagger-ui/index.html", // default to the Swagger page
                 DefaultContentType = ContentType.Json,
                 WriteErrorsToResponse = false,
                 EnableFeatures = Feature.All.Remove(GetDisabledFeatures()), // disable features specified in Web.Config (i.e. Soap, Metadata, etc.)
@@ -161,6 +169,12 @@ namespace ServiceStackBenchmark
             // Initialize Databases
             InitDatabases(container);
 
+            // Register Cache Clients
+            container.Register<ICacheClient>(new MemoryCacheClient());
+
+            // Register Redis Client Manager
+            container.Register<IRedisClientsManager>(c =>
+                new PooledRedisClientManager("localhost:6379"));
         }
 
         private static void InitDatabases(Funq.Container container)

+ 54 - 27
servicestack/src/Model/World.cs

@@ -2,7 +2,10 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
+using System.Threading.Tasks;
 
+using ServiceStack.CacheAccess;
+using ServiceStack.Common;
 using ServiceStack.DataAnnotations;
 using ServiceStack.OrmLite;
 
@@ -19,56 +22,80 @@ namespace ServiceStackBenchmark.Model
     public static class WorldMethods
     {
 
-        public static World GetRandomWorld(this IDbConnection db, Random randomizer)
+        public static World GetWorld(this IDbConnection db, int id)
         {
-            int id = randomizer.Next(1, 10000);
+            // retrieve the World with passed id
             return db.GetById<World>(id);
         }
 
-        public static List<World> GetRandomWorlds(this IDbConnection db, int count, Random randomizer)
+        public static List<World> GetWorlds(this IDbConnection db)
         {
-            var worlds = new List<World>(count);
+            // retrieve all Worlds
+            return db.Select<World>(w => w);
+        }
+
+        public static List<World> GetWorlds(this IDbConnection db, IEnumerable<int> ids)
+        {
+            // retrieve the Worlds included passed ids
+            return db.GetByIds<World>(ids);
+        }
+
+        public static List<World> UpdateWorlds(this IDbConnection db, IEnumerable<int> ids)
+        {
+            // get the worlds for the passed ids
+            var worlds = db.GetByIds<World>(ids);
 
-            for (int i = 0; i < count; ++i)
+            // concurrently update each world with a new random number
+            Parallel.ForEach(worlds, w =>
             {
-                worlds.Add(GetRandomWorld(db, randomizer));
-            }
+                lock (worlds)
+                {
+                    w.randomNumber = SafeRandom.Instance.Next(1, 10000);
+                }
+            });
+
+            // update the dataase with the above changes
+            db.Update<World>(worlds);
 
+            // return updated collection
             return worlds;
         }
 
-        public static World UpdateRandomWorld(this IDbConnection db, Random randomizer)
+        public static void CacheAllWorlds(this IDbConnection db, ICacheClient cache)
         {
-            var world = db.GetRandomWorld(randomizer);
-            world.randomNumber = randomizer.Next(1, 10000);
-            db.Update<World>(world);
-            return world;
-        }
+            cache.FlushAll();
 
-        public static List<World> UpdateRandomWorlds(this IDbConnection db, int count, Random randomizer)
-        {
-            var worlds = new List<World>(count);
+            // concurrently create a list of world ids
+            var worlds = db.GetWorlds();
 
-            for (int i = 0; i < count; ++i)
+            Parallel.ForEach<World>(worlds, w =>
             {
-                worlds.Add(UpdateRandomWorld(db, randomizer));
-            }
-            return worlds;
+                var cacheKey = UrnId.Create<World>("Id", w.id.ToString());
+
+                cache.Set<World>(cacheKey, w);
+            });
         }
 
         public static void CreateWorldTable(this IDbConnection db)
         {
+            // only create table if it does not already exist
             if (!db.TableExists("World"))
             {
+                // create the database table based on model
                 db.CreateTable<World>();
 
-                // Populate the table
-                var randomizer = new Random();
-                var worlds = new List<World>();
-                for (int i = 1; i < 10000; i++)
-                {
-                    worlds.Add(new World() { id = i, randomNumber = randomizer.Next(1, 10000) });
-                }
+                // populate the table
+                var worlds = new List<World>(10000);
+                Parallel.For(1, 10000, i =>
+                    {
+                        lock (worlds)
+                        {
+                            worlds.Add(new World() { id = i, randomNumber = SafeRandom.Instance.Next(1, 10000) });
+                        }
+
+                    });
+
+                // insert new records into database
                 db.Insert<World>(worlds.ToArray());
             }
         }

+ 72 - 0
servicestack/src/SafeRandom.cs

@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace ServiceStackBenchmark
+{
+    internal sealed class SafeRandom
+    {
+        private static volatile SafeRandom instance;
+
+        private static object syncRoot = new object();
+
+        private static Random random;
+
+        private SafeRandom()
+        {
+            random = new Random();
+        }
+
+        public int Next()
+        {
+            int result;
+
+            lock (random)
+            {
+                result = random.Next();
+            }
+            return result;
+        }
+
+        public int Next(int maxValue)
+        {
+            int result;
+
+            lock (random)
+            {
+                result = random.Next(maxValue);
+            }
+            return result;
+        }
+
+        public int Next(int minValue, int maxValue)
+        {
+            int result;
+
+            lock (random)
+            {
+                result = random.Next(minValue, maxValue);
+            }
+            return result;
+        }
+
+        public static SafeRandom Instance
+        {
+            get
+            {
+                if (instance == null)
+                {
+                    lock (syncRoot)
+                    {
+                        if (instance == null)
+                        {
+                            instance = new SafeRandom();
+                        }
+                    }
+                }
+
+                return instance;
+            }
+        }
+    }
+}

+ 6 - 1
servicestack/src/SelfHost/App.config

@@ -7,7 +7,8 @@
     <add name="MySQL" connectionString="server=localhost; user id=benchmarkdbuser; password=benchmarkdbpass; database=hello_world" providerName="MySql.Data.MySqlClient" />
     <add name="PostgreSQL" connectionString="server=localhost; user id=benchmarkdbuser; password=benchmarkdbpass; database=hello_world" providerName="Npgsql" />
     <!-- Set max pool size to SQL Server's default max_connections value. In practice, we don't seem to be getting close to the max at all. -->
-    <add name="SQLServer" connectionString="server=localhost; user id=benchmarkdbuser; password=B3nchmarkDBPass; database=hello_world; max pool size=32767" providerName="System.Data.SqlClient" />
+    <!-- add name="SQLServer" connectionString="server=localhost; user id=benchmarkdbuser; password=B3nchmarkDBPass; database=hello_world; max pool size=32767" providerName="System.Data.SqlClient" / -->
+    <add name="SQLServer" connectionString="Data Source=R994W11\SQLEXPRESS; Integrated Security=True; Initial Catalog=hello_world; max pool size=32767" providerName="System.Data.SqlClient" />
   </connectionStrings>
   <appSettings>
     <add key="DisabledFeatures" value="MetaData, Soap, Soap11, Soap12" />
@@ -22,6 +23,10 @@
         <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-2.0.12.0" newVersion="2.0.12.0" />
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="AWSSDK" publicKeyToken="9f476d3089b52be3" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.5.28.3" newVersion="1.5.28.3" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>

+ 191 - 0
servicestack/src/Service/MySqlService.cs

@@ -0,0 +1,191 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+using ServiceStack.Common;
+using ServiceStack.ServiceHost;
+using ServiceStack.ServiceInterface;
+
+using ServiceStackBenchmark.Model;
+
+namespace ServiceStackBenchmark
+{
+
+    #region MySQL Service Requests
+
+    [Api("Test #2 using Service Stack, ORMLite, and MySQL")]
+    [Route("/mysql/db", "GET")]
+    public class MySqlDbRequest : IReturn<World>
+    { }
+
+    [Api("Test #3 using Service Stack, ORMLite, and MySQL")]
+    [Route("/mysql/queries/{queries}", "GET")]
+    public class MySqlQueriesRequest : IReturn<List<World>>
+    {
+        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
+        [ApiAllowableValues("queries", 1, 500)]
+        public int queries { get; set; }
+    }
+
+    [Api("Test #4 using Service Stack, ORMLite, and MySQL")]
+    [Route("/mysql/fortunes", "GET")]
+    public class MySqlFortunesRequest : IReturn<List<Fortune>>
+    { }
+
+    [Api("Test #5 using Service Stack, ORMLite, and MySQL")]
+    [Route("/mysql/updates/{queries}", "GET")]
+    public class MySqlUpdatesRequest : IReturn<List<World>>
+    {
+        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
+        [ApiAllowableValues("queries", 1, 500)]
+        public int queries { get; set; }
+    }
+
+    [Api("Test #7 using Service Stack, ORMLite, and MySQL with Caching")]
+    [Route("/mysql/cached/db", "GET")]
+    public class MySqlCachedDbRequest : IReturn<World>
+    { }
+
+    #endregion
+
+    /// <summary>Service Stack tests using MySQL provider and ORMLite</summary>
+    public class MySqlService : Service
+    {
+        private const string dbType = "MySql";
+
+        #region Public Properties
+
+        public IMySqlOrmLiteConnectionFactory dbFactory { get; set; }
+
+        #endregion
+
+        #region Public Service Methods
+
+        public object Get(MySqlDbRequest request)
+        {
+            // get a random world id
+            var id = SafeRandom.Instance.Next(1, 10000);
+
+            // retrieve world from database
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.GetWorld(id);
+            }
+        }
+
+        public object Get(MySqlQueriesRequest request)
+        {
+            // limit queries to be between 1 and 500 iterations
+            var worldCount = Math.Max(1, Math.Min(500, (int)request.queries));
+
+            // concurrently create a list of random world ids to retrieve
+            var ids = new List<int>();
+            Parallel.For(1, worldCount, i =>
+            {
+                lock (ids)
+                {
+                    ids.Add(SafeRandom.Instance.Next(1, 10000));
+                }
+            });
+
+            // retrieve worlds associated with ids
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.GetWorlds(ids);
+            }
+        }
+
+        [AddHeader(ContentType = ServiceStack.Common.Web.ContentType.Html)]
+        public object Get(MySqlFortunesRequest request)
+        {
+            var fortunes = new List<Fortune>();
+
+            // retrieve fortunes from database
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                fortunes = db.GetFortunes();
+            }
+
+            // add additional fortune record
+            fortunes.Add(new Fortune { id = 0, message = "Additional fortune added at request time." });
+
+            // sort fortunes
+            fortunes.Sort();
+
+            // construct HTML page using template and return
+            return FortuneMethods.ToHtml(fortunes);
+        }
+
+        public object Get(MySqlUpdatesRequest request)
+        {
+            // limit queries to be between 1 and 500 iterations
+            var worldCount = Math.Max(1, Math.Min(500, (int)request.queries));
+
+            // concurrently create a list of random world ids to update
+            var ids = new List<int>(worldCount);
+            Parallel.For(1, worldCount, i =>
+            {
+                lock (ids)
+                {
+                    ids.Add(SafeRandom.Instance.Next(1, 10000));
+                }
+            });
+
+            // purge cache client
+            Cache.FlushAll();
+
+            // update the worlds
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.UpdateWorlds(ids);
+            }
+        }
+
+        public object Get(MySqlCachedDbRequest request)
+        {
+            // get a random world id
+            var id = SafeRandom.Instance.Next(1, 10000);
+
+            // create the cache key for the random world id
+            var cacheKey = UrnId.CreateWithParts<World>(new string[] { dbType, id.ToString() });
+
+            // if world is cached, return it
+            var world = Cache.Get<World>(cacheKey);
+            if (world != null)
+                return world;
+
+            // get all of the worlds form the database
+            List<World> worlds;
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                worlds = db.GetWorlds();
+            }
+
+            // construct a cache dictionary
+            var cacheDict = new Dictionary<string, World>();
+            Parallel.ForEach(worlds, w =>
+            {
+                // collect the current result
+                if (w.id == id)
+                    world = w;
+
+                // add world to cache dictionary
+                var key = UrnId.CreateWithParts<World>(new string[] { dbType, w.id.ToString() });
+                lock (cacheDict)
+                {
+                    cacheDict.Add(key, w);
+                }
+            });
+
+            // populate cache
+            Cache.SetAll<World>(cacheDict);
+
+            // return current request
+            return world;
+        }
+
+        #endregion
+    }
+
+}

+ 192 - 0
servicestack/src/Service/PostgreSqlService.cs

@@ -0,0 +1,192 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+using ServiceStack.CacheAccess;
+using ServiceStack.Common;
+using ServiceStack.ServiceHost;
+using ServiceStack.ServiceInterface;
+
+using ServiceStackBenchmark.Model;
+
+namespace ServiceStackBenchmark
+{
+
+    #region PostgreSQL Service Requests
+
+    [Api("Test #2 using Service Stack, ORMLite, and PostgreSQL")]
+    [Route("/postgresql/db", "GET")]
+    public class PostgreSqlDbRequest : IReturn<World>
+    { }
+
+    [Api("Test #3 using Service Stack, ORMLite, and PostgreSQL")]
+    [Route("/postgresql/queries/{queries}", "GET")]
+    public class PostgreSqlQueriesRequest : IReturn<List<World>>
+    {
+        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
+        [ApiAllowableValues("queries", 1, 500)]
+        public int queries { get; set; }
+    }
+
+    [Api("Test #4 using Service Stack, ORMLite, and PostgreSQL")]
+    [Route("/postgresql/fortunes", "GET")]
+    public class PostgreSqlFortunesRequest : IReturn<List<Fortune>>
+    { }
+
+    [Api("Test #5 using Service Stack, ORMLite, and PostgreSQL")]
+    [Route("/postgresql/updates/{queries}", "GET")]
+    public class PostgreSqlUpdatesRequest : IReturn<List<World>>
+    {
+        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
+        [ApiAllowableValues("queries", 1, 500)]
+        public int queries { get; set; }
+    }
+
+    [Api("Test #7 using Service Stack, ORMLite, and PostgreSQL with Caching")]
+    [Route("/postgresql/cached/db", "GET")]
+    public class PostgreSqlCachedDbRequest : IReturn<World>
+    { }
+
+    #endregion
+
+    /// <summary>Service Stack tests using PostgreSQL provider and ORMLite</summary>
+    public class PostgreSqlService : Service
+    {
+        private const string dbType = "PgSql";
+
+        #region Public Properties
+
+        public IPostgreSqlOrmLiteConnectionFactory dbFactory { get; set; }
+
+        #endregion
+
+        #region Public Service Methods
+
+        public object Get(PostgreSqlDbRequest request)
+        {
+            // get a random world id
+            var id = SafeRandom.Instance.Next(1, 10000);
+
+            // retrieve world from database
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.GetWorld(id);
+            }
+        }
+
+        public object Get(PostgreSqlQueriesRequest request)
+        {
+            // limit queries to be between 1 and 500 iterations
+            var worldCount = Math.Max(1, Math.Min(500, (int)request.queries));
+
+            // concurrently create a list of random world ids to retrieve
+            var ids = new List<int>();
+            Parallel.For(1, worldCount, i =>
+            {
+                lock (ids)
+                {
+                    ids.Add(SafeRandom.Instance.Next(1, 10000));
+                }
+            });
+
+            // retrieve worlds associated with ids
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.GetWorlds(ids);
+            }
+        }
+
+        [AddHeader(ContentType = ServiceStack.Common.Web.ContentType.Html)]
+        public object Get(PostgreSqlFortunesRequest request)
+        {
+            var fortunes = new List<Fortune>();
+
+            // retrieve fortunes from database
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                fortunes = db.GetFortunes();
+            }
+
+            // add additional fortune record
+            fortunes.Add(new Fortune { id = 0, message = "Additional fortune added at request time." });
+
+            // sort fortunes
+            fortunes.Sort();
+
+            // construct HTML page using template and return
+            return FortuneMethods.ToHtml(fortunes);
+        }
+
+        public object Get(PostgreSqlUpdatesRequest request)
+        {
+            // limit queries to be between 1 and 500 iterations
+            var worldCount = Math.Max(1, Math.Min(500, (int)request.queries));
+
+            // concurrently create a list of random world ids to update
+            var ids = new List<int>(worldCount);
+            Parallel.For(1, worldCount, i =>
+            {
+                lock (ids)
+                {
+                    ids.Add(SafeRandom.Instance.Next(1, 10000));
+                }
+            });
+
+            // purge cache client
+            Cache.FlushAll();
+
+            // update the worlds
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.UpdateWorlds(ids);
+            }
+        }
+
+        public object Get(PostgreSqlCachedDbRequest request)
+        {
+            // get a random world id
+            var id = SafeRandom.Instance.Next(1, 10000);
+
+            // create the cache key for the random world id
+            var cacheKey = UrnId.CreateWithParts<World>(new string[] { dbType, id.ToString() });
+
+            // if world is cached, return it
+            var world = Cache.Get<World>(cacheKey);
+            if (world != null)
+                return world;
+
+            // get all of the worlds form the database
+            List<World> worlds;
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                worlds = db.GetWorlds();
+            }
+
+            // construct a cache dictionary
+            var cacheDict = new Dictionary<string, World>();
+            Parallel.ForEach(worlds, w =>
+            {
+                // collect the current result
+                if (w.id == id)
+                    world = w;
+
+                // add world to cache dictionary
+                var key = UrnId.CreateWithParts<World>(new string[] { dbType, w.id.ToString() });
+                lock (cacheDict)
+                {
+                    cacheDict.Add(key, w);
+                }
+            });
+
+            // populate cache
+            Cache.SetAll<World>(cacheDict);
+
+            // return current request
+            return world;
+        }
+
+        #endregion
+    }
+
+}

+ 99 - 0
servicestack/src/Service/Services.cs

@@ -0,0 +1,99 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+using ServiceStack.CacheAccess;
+using ServiceStack.CacheAccess.Providers;
+using ServiceStack.CacheAccess.Memcached;
+using ServiceStack.CacheAccess.AwsDynamoDb;
+using ServiceStack.CacheAccess.Azure;
+using ServiceStack.Common.Web;
+using ServiceStack.Redis;
+using ServiceStack.ServiceHost;
+using ServiceStack.ServiceInterface;
+
+namespace ServiceStackBenchmark
+{
+
+    #region Hello World Services
+
+    [Api("Test #1 (JSON serialization) using Service Stack")]
+    [Route("/json", "GET")]
+    public class JsonRequest { }
+
+    public class JsonService : Service
+    {
+        public object Get(JsonRequest request)
+        {
+            var response = new { message = "Hello, World!" };
+            return response;
+        }
+    }
+
+    [Api("Test #6 (Plaintext) using Service Stack")]
+    [Route("/plaintext", "GET")]
+    public class PlainTextRequest { }
+
+    public class PlainTextService : Service
+    {
+        public object Get(PlainTextRequest request)
+        {
+            var response = new HttpResult("Hello, World!", "text/plain");
+            return response;
+        }
+    }
+
+
+    [Api("Set Cache Provider")]
+    [Route("/cacheprovider/{provider}", "GET")]
+    public class SetCacheProviderRequest 
+    {
+        [ApiMember(Name ="provider", Description = "Cache Provider", DataType = "string", IsRequired = true)]
+        [ApiAllowableValues("provider", new string[] { "inmem", "memcache", "redis", "aws", "azure" })]
+        public string provider { get; set; }    
+    }
+
+    public class CacheProviderService : Service
+    {
+        public object Any(SetCacheProviderRequest request)
+        {
+            try
+            {
+                switch (request.provider)
+                {
+                    case "memcache":
+                        var memcache = new MemcachedClientCache();
+                        AppHost.Instance.Container.Register<ICacheClient>(memcache);
+                        return new HttpResult("Cache Provider switched to MemCache.");
+
+                    case "redis":
+                        AppHost.Instance.Container.Register<ICacheClient>(c => c.Resolve<IRedisClientsManager>().GetCacheClient());
+                        return new HttpResult("Cache Provider switched to Redis.");
+
+                    case "aws":
+                        var aws = new DynamoDbCacheClient("", "", Amazon.RegionEndpoint.APSoutheast1);
+                        AppHost.Instance.Container.Register<ICacheClient>(aws);
+                        return new HttpResult("Cache Provider switched to Amazon Web Service DynamoDb Cache Client.");
+
+                    case "azure":
+                        AppHost.Instance.Container.Register<ICacheClient>(new AzureCacheClient("default"));
+                        return new HttpResult("Cache Provider switched to Microsoft Azure Cache Client.");
+
+                    default:
+                        AppHost.Instance.Container.Register<ICacheClient>(new MemoryCacheClient());
+                        return new HttpResult("Cache Provider switched to In-Memory Cache Client.");
+                }
+            }
+            catch
+            {
+                throw;
+            }
+        }
+    }
+
+
+    #endregion
+
+
+
+}

+ 192 - 0
servicestack/src/Service/SqlServerService.cs

@@ -0,0 +1,192 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+using ServiceStack.Common;
+using ServiceStack.ServiceHost;
+using ServiceStack.ServiceInterface;
+
+using ServiceStackBenchmark.Model;
+
+namespace ServiceStackBenchmark
+{
+
+    #region Microsoft SQL Server Service Requests
+
+    [Api("Test #2 using Service Stack, ORMLite, and Microsoft SQL Server")]
+    [Route("/sqlserver/db", "GET")]
+    public class SqlServerDbRequest : IReturn<World>
+    { }
+
+    [Api("Test #3 using Service Stack, ORMLite, and Microsoft SQL Server")]
+    [Route("/sqlserver/queries/{queries}", "GET")]
+    public class SqlServerQueriesRequest : IReturn<List<World>>
+    {
+        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
+        [ApiAllowableValues("queries", 1, 500)]
+        public int queries { get; set; }
+    }
+
+    [Api("Test #4 using Service Stack, ORMLite, and Microsoft SQL Server")]
+    [Route("/sqlserver/fortunes", "GET")]
+    public class SqlServerFortunesRequest : IReturn<List<Fortune>>
+    { }
+
+    [Api("Test #5 using Service Stack, ORMLite, and Microsoft SQL Server")]
+    [Route("/sqlserver/updates/{queries}", "GET")]
+    public class SqlServerUpdatesRequest : IReturn<List<World>>
+    {
+        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
+        [ApiAllowableValues("queries", 1, 500)]
+        public int queries { get; set; }
+    }
+
+    [Api("Test #7 using Service Stack, ORMLite, and Microsoft SQL Server with Caching")]
+    [Route("/sqlserver/cached/db", "GET")]
+    public class SqlServerCachedDbRequest : IReturn<World>
+    { }
+
+    #endregion
+
+    /// <summary>Service Stack tests using Microsoft SQL Server provider and ORMLite</summary>
+    public class SqlServerService : Service
+    {
+        private const string dbType = "SqlSrvr";
+
+        #region Public Properties
+
+        public ISqlServerOrmLiteConnectionFactory dbFactory { get; set; }
+
+        #endregion
+
+        #region Public Service Methods
+
+        public object Get(SqlServerDbRequest request)
+        {
+            // get a random world id
+            var id = SafeRandom.Instance.Next(1, 10000);
+
+            // retrieve world from database
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.GetWorld(id);
+            }
+        }
+
+        public object Get(SqlServerQueriesRequest request)
+        {
+            // limit queries to be between 1 and 500 iterations
+            var worldCount = Math.Max(1, Math.Min(500, (int)request.queries));
+
+            // concurrently create a list of random world ids to retrieve
+            var ids = new List<int>();
+            Parallel.For(1, worldCount, i =>
+            {
+                lock (ids)
+                {
+                    ids.Add(SafeRandom.Instance.Next(1, 10000));
+                }
+            });
+
+            // retrieve worlds associated with ids
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.GetWorlds(ids);
+            }
+        }
+
+        [AddHeader(ContentType = ServiceStack.Common.Web.ContentType.Html)]
+        public object Get(SqlServerFortunesRequest request)
+        {
+            var fortunes = new List<Fortune>();
+
+            // retrieve fortunes from database
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                fortunes = db.GetFortunes();
+            }
+
+            // add additional fortune record
+            fortunes.Add(new Fortune { id = 0, message = "Additional fortune added at request time." });
+
+            // sort fortunes
+            fortunes.Sort();
+
+            // construct HTML page using template and return
+            return FortuneMethods.ToHtml(fortunes);
+        }
+
+        public object Get(SqlServerUpdatesRequest request)
+        {
+            // limit queries to be between 1 and 500 iterations
+            var worldCount = Math.Max(1, Math.Min(500, (int)request.queries));
+
+            // concurrently create a list of random world ids to update
+            var ids = new List<int>(worldCount);
+            Parallel.For(1, worldCount, i =>
+            {
+                lock (ids)
+                {
+                    ids.Add(SafeRandom.Instance.Next(1, 10000));
+                }
+            });
+
+            // purge cache client
+            Cache.FlushAll();
+
+            // update the worlds
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                return db.UpdateWorlds(ids);
+            }
+        }
+
+        public object Get(SqlServerCachedDbRequest request)
+        {
+            // get a random world id
+            var id = SafeRandom.Instance.Next(1, 10000);
+
+            // create the cache key for the random world id
+            var cacheKey = UrnId.CreateWithParts<World>(new string[] { dbType, id.ToString() });
+
+            // if world is cached, return it
+            var world = Cache.Get<World>(cacheKey);
+            if (world != null)
+                return world;
+
+            // get all of the worlds form the database
+            List<World> worlds;
+            using (var db = dbFactory.OpenDbConnection())
+            {
+                worlds = db.GetWorlds();
+            }
+
+            // construct a cache dictionary
+            var cacheDict = new Dictionary<string,World>();
+            Parallel.ForEach(worlds, w =>
+                {
+                    // collect the current result
+                    if (w.id == id)
+                        world = w;
+
+                    // add world to cache dictionary
+                    var key = UrnId.CreateWithParts<World>(new string[] { dbType, w.id.ToString() });
+                    lock (cacheDict)
+                    {
+                        cacheDict.Add(key, w);
+                    }
+                });
+
+            // populate cache
+            Cache.SetAll<World>(cacheDict);
+
+            // return current request
+            return world;
+        }
+
+        #endregion
+
+    }
+
+}

+ 35 - 3
servicestack/src/ServiceStackBenchmark.csproj

@@ -41,6 +41,24 @@
     <StartupObject />
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Enyim.Caching">
+      <HintPath>..\lib\EnyimMemcached.2.12\lib\net35\Enyim.Caching.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.ApplicationServer.Caching.Client">
+      <HintPath>..\lib\WindowsAzure.Caching.1.7.0.0\lib\net35-full\Microsoft.ApplicationServer.Caching.Client.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.ApplicationServer.Caching.Core">
+      <HintPath>..\lib\WindowsAzure.Caching.1.7.0.0\lib\net35-full\Microsoft.ApplicationServer.Caching.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Web.DistributedCache">
+      <HintPath>..\lib\WindowsAzure.Caching.1.7.0.0\lib\net35-full\Microsoft.Web.DistributedCache.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.WindowsFabric.Common">
+      <HintPath>..\lib\WindowsAzure.Caching.1.7.0.0\lib\net35-full\Microsoft.WindowsFabric.Common.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.WindowsFabric.Data.Common">
+      <HintPath>..\lib\WindowsAzure.Caching.1.7.0.0\lib\net35-full\Microsoft.WindowsFabric.Data.Common.dll</HintPath>
+    </Reference>
     <Reference Include="Mono.Security">
       <HintPath>..\lib\Npgsql.2.0.12.1\lib\net40\Mono.Security.dll</HintPath>
     </Reference>
@@ -62,6 +80,15 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\lib\ServiceStack.Api.Swagger.3.9.56\lib\net35\ServiceStack.Api.Swagger.dll</HintPath>
     </Reference>
+    <Reference Include="ServiceStack.CacheAccess.AwsDynamoDb">
+      <HintPath>..\lib\ServiceStack.Caching.AwsDynamoDb.3.9.55\lib\ServiceStack.CacheAccess.AwsDynamoDb.dll</HintPath>
+    </Reference>
+    <Reference Include="ServiceStack.CacheAccess.Azure">
+      <HintPath>..\lib\ServiceStack.Caching.Azure.3.9.55\lib\ServiceStack.CacheAccess.Azure.dll</HintPath>
+    </Reference>
+    <Reference Include="ServiceStack.CacheAccess.Memcached">
+      <HintPath>..\lib\ServiceStack.Caching.Memcached.3.9.55\lib\ServiceStack.CacheAccess.Memcached.dll</HintPath>
+    </Reference>
     <Reference Include="ServiceStack.Common, Version=3.9.56.0, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\lib\ServiceStack.Common.3.9.56\lib\net35\ServiceStack.Common.dll</HintPath>
@@ -86,9 +113,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\lib\ServiceStack.OrmLite.SqlServer.3.9.56\lib\ServiceStack.OrmLite.SqlServer.dll</HintPath>
     </Reference>
-    <Reference Include="ServiceStack.Redis, Version=3.9.49.0, Culture=neutral, processorArchitecture=MSIL">
+    <Reference Include="ServiceStack.Redis, Version=3.9.57.0, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\lib\ServiceStack.Redis.3.9.56\lib\net35\ServiceStack.Redis.dll</HintPath>
+      <HintPath>..\lib\ServiceStack.Redis.3.9.57\lib\net35\ServiceStack.Redis.dll</HintPath>
     </Reference>
     <Reference Include="ServiceStack.ServiceInterface, Version=3.9.56.0, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
@@ -137,11 +164,15 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Model\Fortune.cs" />
-    <Compile Include="Services.cs" />
+    <Compile Include="SafeRandom.cs" />
+    <Compile Include="Service\MySqlService.cs" />
+    <Compile Include="Service\PostgreSqlService.cs" />
+    <Compile Include="Service\Services.cs" />
     <Compile Include="DbFactories\MySqlOrmLiteConnectionFactory.cs" />
     <Compile Include="DbFactories\PostgreSqlOrmLiteConnectionFactory.cs" />
     <Compile Include="DbFactories\SqlServerOrmLiteConnectionFactory.cs" />
     <Compile Include="Model\World.cs" />
+    <Compile Include="Service\SqlServerService.cs" />
     <Content Include="Global.asax" />
     <Compile Include="AppHost.cs" />
     <Compile Include="Global.asax.cs">
@@ -160,6 +191,7 @@
       <DependentUpon>Web.config</DependentUpon>
     </None>
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>

+ 0 - 284
servicestack/src/Services.cs

@@ -1,284 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-using ServiceStack.Common.Web;
-using ServiceStack.ServiceHost;
-using ServiceStack.ServiceInterface;
-
-using ServiceStackBenchmark.Model;
-
-namespace ServiceStackBenchmark
-{
-
-    #region Hello World Services
-
-    [Api("Test #1 (JSON serialization) using Service Stack")]
-    [Route("/json", "GET")]
-    public class JsonRequest { }
-
-    public class JsonService : Service
-    {
-        public object Get(JsonRequest request)
-        {
-            var response = new { message = "Hello, World!" };
-            return response;
-        }
-    }
-
-    [Api("Test #6 (Plaintext) using Service Stack")]
-    [Route("/plaintext", "GET")]
-    public class PlainTextRequest { }
-
-    public class PlainTextService : Service
-    {
-        public object Get(PlainTextRequest request)
-        {
-            var response = new HttpResult("Hello, World!", "text/plain");
-            return response;
-        }
-    }
-
-    #endregion
-
-    #region MySQL Services
-
-    [Api("Test #2 using Service Stack, ORMLite, and MySQL")]
-    [Route("/mysql/db", "GET")]
-    public class MySqlDbRequest : IReturn<World>
-    { }
-
-    [Api("Test #3 using Service Stack, ORMLite, and MySQL")]
-    [Route("/mysql/queries/{queries}", "GET")]
-    public class MySqlQueriesRequest : IReturn<List<World>>
-    {
-        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
-        [ApiAllowableValues("queries", 1, 500)]
-        public int queries { get; set; }
-    }
-
-    [Api("Test #4 using Service Stack, ORMLite, and MySQL")]
-    [Route("/mysql/fortunes", "GET")]
-    public class MySqlFortunesRequest : IReturn<List<Fortune>>
-    { }
-
-    [Api("Test #5 using Service Stack, ORMLite, and MySQL")]
-    [Route("/mysql/updates/{queries}", "GET")]
-    public class MySqlUpdatesRequest : IReturn<List<World>>
-    {
-        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
-        [ApiAllowableValues("queries", 1, 500)]
-        public int queries { get; set; }
-    }
-
-    /// <summary>Service Stack tests using MySQL provider and ORMLite</summary>
-    public class MySqlService : Service
-    {
-        public IMySqlOrmLiteConnectionFactory dbFactory { get; set; }
-
-        public object Get(MySqlDbRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                return new HttpResult(db.GetRandomWorld(new Random()), ContentType.Json);
-            }
-        }
-
-        public object Get(MySqlQueriesRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                var worldCount = Math.Max(1, Math.Min(500, (int)request.queries)); // limit queries to be between 1 and 500 iterations
-                return new HttpResult(db.GetRandomWorlds(worldCount, new Random()), ContentType.Json);
-            }
-        }
-
-        [AddHeader(ContentType = ContentType.Html)]
-        public object Get(MySqlFortunesRequest request)
-        {
-            var fortunes = new List<Fortune>();
-
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                fortunes = db.GetFortunes();
-                fortunes.Add(new Fortune { id = 0, message = "Additional fortune added at request time." });
-                fortunes.Sort();
-            }
-
-            // construct HTML page using template and return
-            return FortuneMethods.ToHtml(fortunes);
-        }
-
-        public object Get(MySqlUpdatesRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                var worldCount = Math.Max(1, Math.Min(500, (int)request.queries)); // limit queries to be between 1 and 500 iterations
-                return new HttpResult(db.UpdateRandomWorlds(worldCount, new Random()), ContentType.Json);
-            }
-        }
-    }
-
-    #endregion
-
-    #region PostgreSQL Services
-
-    [Api("Test #2 using Service Stack, ORMLite, and PostgreSQL")]
-    [Route("/postgresql/db", "GET")]
-    public class PostgreSqlDbRequest : IReturn<World>
-    { }
-
-    [Api("Test #3 using Service Stack, ORMLite, and PostgreSQL")]
-    [Route("/postgresql/queries/{queries}", "GET")]
-    public class PostgreSqlQueriesRequest : IReturn<List<World>>
-    {
-        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
-        [ApiAllowableValues("queries", 1, 500)]
-        public int queries { get; set; }
-    }
-
-    [Api("Test #4 using Service Stack, ORMLite, and PostgreSQL")]
-    [Route("/postgresql/fortunes", "GET")]
-    public class PostgreSqlFortunesRequest : IReturn<List<Fortune>>
-    { }
-
-    [Api("Test #5 using Service Stack, ORMLite, and PostgreSQL")]
-    [Route("/postgresql/updates/{queries}", "GET")]
-    public class PostgreSqlUpdatesRequest : IReturn<List<World>>
-    {
-        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
-        [ApiAllowableValues("queries", 1, 500)]
-        public int queries { get; set; }
-    }
-
-    /// <summary>Service Stack tests using PostgreSQL provider and ORMLite</summary>
-    public class PostgreSqlService : Service
-    {
-        public IPostgreSqlOrmLiteConnectionFactory dbFactory { get; set; }
-
-        public object Get(PostgreSqlDbRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                return new HttpResult(db.GetRandomWorld(new Random()), ContentType.Json);
-            }
-        }
-
-        public object Get(PostgreSqlQueriesRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                var worldCount = Math.Max(1, Math.Min(500, (int)request.queries)); // limit queries to be between 1 and 500 iterations
-                return new HttpResult(db.GetRandomWorlds(worldCount, new Random()), ContentType.Json);
-            }
-        }
-
-        [AddHeader(ContentType = ContentType.Html)]
-        public object Get(PostgreSqlFortunesRequest request)
-        {
-            var fortunes = new List<Fortune>();
-
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                fortunes = db.GetFortunes();
-                fortunes.Add(new Fortune { id = 0, message = "Additional fortune added at request time." });
-                fortunes.Sort();
-            }
-
-            // construct HTML page using template and return
-            return FortuneMethods.ToHtml(fortunes);
-        }
-
-        public object Get(PostgreSqlUpdatesRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                var worldCount = Math.Max(1, Math.Min(500, (int)request.queries)); // limit queries to be between 1 and 500 iterations
-                return new HttpResult(db.UpdateRandomWorlds(worldCount, new Random()), ContentType.Json);
-            }
-        }
-    }
-
-    #endregion
-
-    #region Microsoft SQL Server Services
-
-    [Api("Test #2 using Service Stack, ORMLite, and Microsoft SQL Server")]
-    [Route("/sqlserver/db", "GET")]
-    public class SqlServerDbRequest : IReturn<World>
-    { }
-
-    [Api("Test #3 using Service Stack, ORMLite, and Microsoft SQL Server")]
-    [Route("/sqlserver/queries/{queries}", "GET")]
-    public class SqlServerQueriesRequest : IReturn<List<World>>
-    {
-        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
-        [ApiAllowableValues("queries", 1, 500)]
-        public int queries { get; set; }
-    }
-
-    [Api("Test #4 using Service Stack, ORMLite, and Microsoft SQL Server")]
-    [Route("/sqlserver/fortunes", "GET")]
-    public class SqlServerFortunesRequest : IReturn<List<Fortune>>
-    { }
-
-    [Api("Test #5 using Service Stack, ORMLite, and Microsoft SQL Server")]
-    [Route("/sqlserver/updates/{queries}", "GET")]
-    public class SqlServerUpdatesRequest : IReturn<List<World>>
-    {
-        [ApiMember(Name = "queries", Description = "Number of Queries to Execute", DataType = "int", IsRequired = true)]
-        [ApiAllowableValues("queries", 1, 500)]
-        public int queries { get; set; }
-    }
-
-    /// <summary>Service Stack tests using Microsoft SQL Server provider and ORMLite</summary>
-    public class SqlServerService : Service
-    {
-        public ISqlServerOrmLiteConnectionFactory dbFactory { get; set; }
-
-        public object Get(SqlServerDbRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                return new HttpResult(db.GetRandomWorld(new Random()), ContentType.Json);
-            }
-        }
-
-        public object Get(SqlServerQueriesRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                var worldCount = Math.Max(1, Math.Min(500, (int)request.queries)); // limit queries to be between 1 and 500 iterations
-                return new HttpResult(db.GetRandomWorlds(worldCount, new Random()), ContentType.Json);
-            }
-        }
-
-        [AddHeader(ContentType = ContentType.Html)]
-        public object Get(SqlServerFortunesRequest request)
-        {
-            var fortunes = new List<Fortune>();
-
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                fortunes = db.GetFortunes();
-                fortunes.Add(new Fortune { id = 0, message = "Additional fortune added at request time." });
-                fortunes.Sort();
-            }
-
-            // construct HTML page using template and return
-            return FortuneMethods.ToHtml(fortunes);
-        }
-
-        public object Get(SqlServerUpdatesRequest request)
-        {
-            using (var db = dbFactory.OpenDbConnection())
-            {
-                var worldCount = Math.Max(1, Math.Min(500, (int)request.queries)); // limit queries to be between 1 and 500 iterations
-                return new HttpResult(db.UpdateRandomWorlds(worldCount, new Random()), ContentType.Json);
-            }
-        }
-    }
-
-    #endregion
-
-}

+ 30 - 1
servicestack/src/Web.config

@@ -1,10 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
+  <configSections>
+    <!-- Append below entry to configSections. Do not overwrite the full section. -->
+    <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
+  </configSections>
   <connectionStrings>
     <add name="MySQL" connectionString="server=localhost; user id=benchmarkdbuser; password=benchmarkdbpass; database=hello_world" providerName="MySql.Data.MySqlClient" />
     <add name="PostgreSQL" connectionString="server=localhost; user id=benchmarkdbuser; password=benchmarkdbpass; database=hello_world" providerName="Npgsql" />
     <!-- Set max pool size to SQL Server's default max_connections value. In practice, we don't seem to be getting close to the max at all. -->
-    <add name="SQLServer" connectionString="server=localhost; user id=benchmarkdbuser; password=B3nchmarkDBPass; database=hello_world; max pool size=32767" providerName="System.Data.SqlClient" />
+    <!-- add name="SQLServer" connectionString="server=localhost; user id=benchmarkdbuser; password=B3nchmarkDBPass; database=hello_world; max pool size=32767" providerName="System.Data.SqlClient" / -->
+    <add name="SQLServer" connectionString="Data Source=R994W11\SQLEXPRESS; Integrated Security=True; Initial Catalog=hello_world; max pool size=32767" providerName="System.Data.SqlClient" />
   </connectionStrings>
   <appSettings>
     <add key="DisabledFeatures" value="MetaData, Soap, Soap11, Soap12" />
@@ -32,6 +37,30 @@
         <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-2.0.12.0" newVersion="2.0.12.0" />
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="AWSSDK" publicKeyToken="9f476d3089b52be3" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.5.28.3" newVersion="1.5.28.3" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>  
+  <dataCacheClients>
+    <!-- DynamoDb ACS Cache Provider -->
+    <dataCacheClient name="default">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22233" />
+      </hosts>
+      <securityProperties mode="Message">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]">
+        </messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+    <dataCacheClient name="SslEndpoint">
+      <hosts>
+        <host name="[Insert Cache EndPoint]" cachePort="22243" />
+      </hosts>
+      <securityProperties mode="Message" sslEnabled="true">
+        <messageSecurity authorizationInfo="[Encrypted ACS token goes here]"></messageSecurity>
+      </securityProperties>
+    </dataCacheClient>
+  </dataCacheClients>
 </configuration>

+ 7 - 1
servicestack/src/packages.config

@@ -1,13 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
+  <package id="AWSSDK" version="1.5.28.3" targetFramework="net45" />
+  <package id="EnyimMemcached" version="2.12" targetFramework="net45" />
   <package id="MySql.Data" version="6.7.4" targetFramework="net45" />
   <package id="Npgsql" version="2.0.12.1" targetFramework="net45" />
   <package id="ServiceStack" version="3.9.56" targetFramework="net45" />
   <package id="ServiceStack.Api.Swagger" version="3.9.56" targetFramework="net45" />
+  <package id="ServiceStack.Caching.AwsDynamoDb" version="3.9.55" targetFramework="net45" />
+  <package id="ServiceStack.Caching.Azure" version="3.9.55" targetFramework="net45" />
+  <package id="ServiceStack.Caching.Memcached" version="3.9.55" targetFramework="net45" />
   <package id="ServiceStack.Common" version="3.9.56" targetFramework="net45" />
   <package id="ServiceStack.OrmLite.MySql" version="3.9.57" targetFramework="net45" />
   <package id="ServiceStack.OrmLite.PostgreSQL" version="3.9.57" targetFramework="net45" />
   <package id="ServiceStack.OrmLite.SqlServer" version="3.9.56" targetFramework="net45" />
-  <package id="ServiceStack.Redis" version="3.9.56" targetFramework="net45" />
+  <package id="ServiceStack.Redis" version="3.9.57" targetFramework="net45" />
   <package id="ServiceStack.Text" version="3.9.56" targetFramework="net45" />
+  <package id="WindowsAzure.Caching" version="1.7.0.0" targetFramework="net45" />
 </packages>