diff --git a/LoadGenerator/CircularGauge.dll b/LoadGenerator/CircularGauge.dll
new file mode 100644
index 0000000..c58b31b
Binary files /dev/null and b/LoadGenerator/CircularGauge.dll differ
diff --git a/LoadGenerator/LoadGenerator.exe b/LoadGenerator/LoadGenerator.exe
new file mode 100644
index 0000000..3fbdf3c
Binary files /dev/null and b/LoadGenerator/LoadGenerator.exe differ
diff --git a/LoadGenerator/LoadGenerator.exe.config b/LoadGenerator/LoadGenerator.exe.config
new file mode 100644
index 0000000..ffb4850
--- /dev/null
+++ b/LoadGenerator/LoadGenerator.exe.config
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data.dll b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data.dll
new file mode 100644
index 0000000..9287324
Binary files /dev/null and b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data.dll differ
diff --git a/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data.xml b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data.xml
new file mode 100644
index 0000000..27b8005
--- /dev/null
+++ b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data.xml
@@ -0,0 +1,1018 @@
+
+
+
+ Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Data
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to Connection property has not been initialized..
+
+
+
+
+ Looks up a localized string similar to The specified string argument {0} must not be empty..
+
+
+
+
+ Provides a reliable way of opening connections to, and executing commands against, the SQL Database
+ databases taking potential network unreliability and connection retry requirements into account.
+
+
+
+
+ Initializes a new instance of the class with the specified connection string. Uses the default
+ retry policy for connections and commands unless retry settings are provided in the connection string.
+
+ The connection string used to open the SQL Database.
+
+
+
+ Initializes a new instance of the class with the specified connection string
+ and a policy that defines whether to retry a request if a connection or command
+ fails.
+
+ The connection string used to open the SQL Database.
+ The retry policy that defines whether to retry a request if a connection or command fails.
+
+
+
+ Initializes a new instance of the class with the specified connection string
+ and a policy that defines whether to retry a request if a connection or command
+ fails.
+
+ The connection string used to open the SQL Database.
+ The retry policy that defines whether to retry a request if a connection fails to be established.
+ The retry policy that defines whether to retry a request if a command fails to be executed.
+
+
+
+ Opens a database connection with the settings specified by the ConnectionString and ConnectionRetryPolicy properties.
+
+ An object that represents the open connection.
+
+
+
+ Opens a database connection with the settings specified by the connection string and the specified retry policy.
+
+ The retry policy that defines whether to retry a request if the connection fails to open.
+ An object that represents the open connection.
+
+
+
+ Executes a SQL command and returns a result that is defined by the specified type . This method uses the retry policy specified when
+ instantiating the SqlAzureConnection class (or the default retry policy if no policy was set at construction time).
+
+ IDataReader, XmlReader, or any other .NET Framework type that defines the type of result to be returned.
+ The SQL command to be executed.
+ An instance of an IDataReader, XmlReader, or any other .NET Framework object that contains the result.
+
+
+
+ Executes a SQL command and returns a result that is defined by the specified type . This method uses the retry policy specified when
+ instantiating the SqlAzureConnection class (or the default retry policy if no policy was set at construction time).
+
+ IDataReader, XmlReader, or any other .NET Framework type that defines the type of result to be returned.
+ The SQL command to be executed.
+ A description of the results of the query and its effect on the database.
+ An instance of an IDataReader, XmlReader, or any other .NET Frameork object that contains the result.
+
+
+
+ Executes a SQL command by using the specified retry policy, and returns a result that is defined by the specified type
+
+ IDataReader, XmlReader, or any other .NET Framework type that defines the type of result to be returned.
+ The SQL command to be executed.
+ The retry policy that defines whether to retry a command if a connection fails while executing the command.
+ An instance of an IDataReader, XmlReader, or any other .NET Frameork object that contains the result.
+
+
+
+ Executes a SQL command by using the specified retry policy, and returns a result that is defined by the specified type
+
+ IDataReader, XmlReader, or any other .NET Framework type that defines the type of result to be returned.
+ The SQL command to be executed.
+ The retry policy that defines whether to retry a command if a connection fails while executing the command.
+ A description of the results of the query and its effect on the database.
+ An instance of an IDataReader, XmlReader, or any other .NET Frameork object that contains the result.
+
+
+
+ Executes a SQL command and returns the number of rows affected.
+
+ The SQL command to be executed.
+ The number of rows affected.
+
+
+
+ Executes a SQL command and returns the number of rows affected.
+
+ The SQL command to be executed.
+ The retry policy that defines whether to retry a command if a connection fails while executing the command.
+ The number of rows affected.
+
+
+
+ Begins a database transaction with the specified System.Data.IsolationLevel value.
+
+ One of the enumeration values that specifies the isolation level for the transaction.
+ An object that represents the new transaction.
+
+
+
+ Begins a database transaction.
+
+ An object that represents the new transaction.
+
+
+
+ Changes the current database for an open Connection object.
+
+ The name of the database to use in place of the current database.
+
+
+
+ Opens a database connection with the settings specified by the ConnectionString
+ property of the provider-specific Connection object.
+
+
+
+
+ Closes the connection to the database.
+
+
+
+
+ Creates and returns a SqlCommand object that is associated with the underlying SqlConnection.
+
+ A System.Data.SqlClient.SqlCommand object that is associated with the underlying connection.
+
+
+
+ Creates and returns an object that implements the IDbCommand interface that is associated
+ with the underlying SqlConnection.
+
+ A System.Data.SqlClient.SqlCommand object that is associated with the underlying connection.
+
+
+
+ Creates a new connection that is a copy of the current instance, including the connection
+ string, connection retry policy, and command retry policy.
+
+ A new object that is a copy of this instance.
+
+
+
+ Performs application-defined tasks that are associated with freeing, releasing, or
+ resetting managed and unmanaged resources.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or
+ resetting managed and unmanaged resources.
+
+ A flag indicating that managed resources must be released.
+
+
+
+ Gets or sets the connection string for opening a connection to the SQL Database.
+
+
+
+
+ Gets the policy that determines whether to retry a connection request, based on how many
+ times the request has been made and the reason for the last failure.
+
+
+
+
+ Gets the policy that determines whether to retry a command, based on how many
+ times the request has been made and the reason for the last failure.
+
+
+
+
+ Gets an instance of the SqlConnection object that represents the connection to a SQL Database instance.
+
+
+
+
+ Gets the CONTEXT_INFO value that was set for the current session. This value can be used to trace query execution problems.
+
+
+
+
+ Gets a value that specifies the time to wait while trying to establish a connection before terminating
+ the attempt and generating an error.
+
+
+
+
+ Gets the name of the current database or the database to be used after a
+ connection is opened.
+
+
+
+
+ Gets the current state of the connection.
+
+
+
+
+ This helpers class is intended to be used exclusively for fetching the number of affected records when executing a command by using ExecuteNonQuery.
+
+
+
+
+ Implements a strategy that detects network connectivity errors such as "host not found".
+
+
+
+
+ Extends the class to use it with the SQL Database retry strategy.
+
+
+
+
+ The technology name that can be used to get the default SQL command retry strategy.
+
+
+
+
+ The technology name that can be used to get the default SQL connection retry strategy.
+
+
+
+
+ Returns the default retry strategy for SQL commands.
+
+ The default retry strategy for SQL commands (or the default strategy, if no default could be found).
+
+
+
+ Returns the default retry policy dedicated to handling transient conditions with SQL commands.
+
+ The retry policy for SQL commands with the corresponding default strategy (or the default strategy, if no retry strategy assigned to SQL commands was found).
+
+
+
+ Returns the default retry strategy for SQL connections.
+
+ The default retry strategy for SQL connections (or the default strategy, if no default could be found).
+
+
+
+ Returns the default retry policy dedicated to handling transient conditions with SQL connections.
+
+ The retry policy for SQL connections with the corresponding default strategy (or the default strategy, if no retry strategy for SQL connections was found).
+
+
+
+ Provides the transient error detection logic for transient faults that are specific to SQL Database.
+
+
+
+
+ Determines whether the specified exception represents a transient failure that can be compensated by a retry.
+
+ The exception object to be verified.
+ true if the specified exception is considered as transient; otherwise, false.
+
+
+
+ Error codes reported by the DBNETLIB module.
+
+
+
+
+ This class is obsolete. The non-obsolete alternative is .
+ Provides the transient error detection logic for transient faults that are specific to SQL Database.
+
+
+
+
+ Determines whether the specified exception represents a transient failure that can be compensated by a retry.
+
+ The exception object to be verified.
+ true if the specified exception is considered transient; otherwise, false.
+
+
+
+ Provides a set of extension methods that add retry capabilities to the standard System.Data.SqlClient.SqlCommand implementation.
+
+
+
+
+ Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the default retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ The number of rows affected.
+
+
+
+ Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the specified retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ The retry policy that determines whether to retry a command if a connection fails while executing the command.
+ The number of rows affected.
+
+
+
+ Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the specified retry policies when executing the command
+ and establishing a connection.
+
+ The command object that is required for the extension method declaration.
+ The command retry policy that determines whether to retry a command if it fails while executing.
+ The connection retry policy that determines whether to re-establish a connection if it drops while executing the command.
+ The number of rows affected.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object that contains the results.
+ Uses the default retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object that contains the results.
+ Uses the specified retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ The retry policy that determines whether to retry a command if a connection fails while executing the command.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object that contains the results.
+ Uses the specified retry policies when executing the command and
+ establishing a connection.
+
+ The command object that is required for the extension method declaration.
+ The command retry policy that determines whether to retry a command if it fails while executing.
+ The connection retry policy that determines whether to re-establish a connection if it drops while executing the command.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object by using the specified
+ command behavior. Uses the default retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ One of the enumeration values that specifies the command behavior.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object by using the specified
+ command behavior. Uses the specified retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ One of the enumeration values that specifies the command behavior.
+ The retry policy that determines whether to retry a command if a connection fails while executing the command.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object by using the specified
+ command behavior. Uses the specified retry policies when executing the command
+ and establishing a connection.
+
+ The command object that is required for the extension method declaration.
+ One of the enumeration values that specifies the command behavior.
+ The command retry policy that determines whether to retry a command if it fails while executing.
+ The connection retry policy that determines whether to re-establish a connection if it drops while executing the command.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
+ Uses the default retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.
+
+
+
+ Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
+ Uses the specified retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ The retry policy that determines whether to retry a command if a connection fails while executing the command.
+ The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.
+
+
+
+ Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
+ Uses the specified retry policies when executing the command and establishing a connection.
+
+ The command object that is required for the extension method declaration.
+ The command retry policy that determines whether to retry a command if it fails while executing.
+ The connection retry policy that determines whether to re-establish a connection if it drops while executing the command.
+ The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.
+
+
+
+ Sends the specified command to the connection and builds an XmlReader object that contains the results.
+ Uses the default retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ An System.Xml.XmlReader object.
+
+
+
+ Sends the specified command to the connection and builds an XmlReader object that contains the results.
+ Uses the specified retry policy when executing the command.
+
+ The command object that is required for the extension method declaration.
+ The retry policy that determines whether to retry a command if a connection fails while executing the command.
+ An System.Xml.XmlReader object.
+
+
+
+ Sends the specified command to the connection and builds an XmlReader object that contains the results.
+ Uses the specified retry policies when executing the command and establishing a connection.
+
+ The command object that is required for the extension method declaration.
+ The command retry policy that determines whether to retry a command if it fails while executing.
+ The connection retry policy that determines whether to re-establish a connection if it drops while executing the command.
+ An System.Xml.XmlReader object.
+
+
+
+ Provides factory methods for instantiating SQL commands.
+
+
+
+
+ Returns the default time-out that will be applied to all SQL commands constructed by this factory class.
+
+
+
+
+ Creates a generic command of type Stored Procedure and assigns the default command time-out.
+
+ The database connection object to be associated with the new command.
+ A new SQL command that is initialized with the Stored Procedure command type and initial settings.
+
+
+
+ Creates a generic command of type Stored Procedure and assigns the specified command text and default command time-out to it.
+
+ The database connection object to be associated with the new command.
+ The text of the command to run against the data source.
+ A new SQL command that is initialized with the Stored Procedure command type, specified text, and initial settings.
+
+
+
+ Creates a SQL command that is intended to return the connection's context ID, which is useful for tracing purposes.
+
+ The database connection object to be associated with the new command.
+ A new SQL command that is initialized with the specified connection.
+
+
+
+ Provides a set of extension methods that add retry capabilities to the standard implementation.
+
+
+
+
+ Opens a database connection with the connection settings specified in the ConnectionString property of the connection object.
+ Uses the default retry policy when opening the connection.
+
+ The connection object that is required for the extension method declaration.
+
+
+
+ Opens a database connection with the connection settings specified in the ConnectionString property of the connection object.
+ Uses the specified retry policy when opening the connection.
+
+ The connection object that is required for the extension method declaration.
+ The retry policy that defines whether to retry a request if the connection fails.
+
+
+
+ Provides a disposable wrapper for SQL XML data reader, which synchronizes the SQL connection
+ disposal with its own life cycle.
+
+
+
+
+ Initializes a new instance of the class that is associated with the specified SQL connection and the original XML reader.
+
+ The SQL connection that provides access to the XML data for this reader.
+ The original XML reader that is to be wrapped by this instance.
+
+
+
+ Returns the value of the attribute that has the specified name.
+
+ The qualified name of the attribute.
+ The value of the specified attribute, or null if the attribute isn't found or its value is .
+
+
+
+ Returns the value of the attribute that has the specified index.
+
+ The index of the attribute. The index is zero-based. (The first attribute has an index of 0.)
+ The value of the specified attribute. This method does not move the reader.
+
+
+
+ Returns the value of the attribute that has the specified name and namespace URI.
+
+ The local name of the attribute.
+ The namespace URI of the attribute.
+ The value of the specified attribute, or null if the attribute isn't found or its value is . This method does not move the reader.
+
+
+
+ Closes both the original and the associated SQL connection.
+
+
+
+
+ Resolves a namespace prefix in the current element's scope.
+
+ The prefix whose namespace URI you want to resolve. To match the default namespace, pass an empty string.
+ The namespace URI to which the prefix maps, or null if no matching prefix is found.
+
+
+
+ Moves to the attribute that has the specified name and namespace URI.
+
+ The local name of the attribute.
+ The namespace URI of the attribute.
+ true if the attribute is found; otherwise, false. If false, the reader's position does not change.
+
+
+
+ Moves to the attribute that has the specified name.
+
+ The qualified name of the attribute.
+ true if the attribute is found; otherwise, false. If false, the reader's position does not change.
+
+
+
+ Moves to the element that contains the current attribute node.
+
+ true if the reader is positioned on an attribute (in which case, the reader moves to the element that owns the attribute); false if the reader is not positioned on an attribute (in which case, the position of the reader does not change).
+
+
+
+ Moves to the first attribute.
+
+ true if an attribute exists (in which case, the reader moves to the first attribute); otherwise, false (in which case, the position of the reader does not change).
+
+
+
+ Moves to the next attribute.
+
+ true if there is a next attribute; false if there are no more attributes.
+
+
+
+ Reads the next node from the stream.
+
+ true if the next node was read successfully; false if there are no more nodes to read.
+
+
+
+ Parses the attribute value into one or more Text, EntityReference, or EndEntity nodes.
+
+ true if there are nodes to return, false if the reader is not positioned on an attribute node when the initial call is made or if all the attribute values have been read. An empty attribute such as misc="" returns true with a single node that has a value of .
+
+
+
+ Resolves the entity reference for EntityReference nodes.
+
+
+
+
+ Returns the number of attributes on the current node.
+
+
+
+
+ Returns the base Uniform Resource Identifier (URI) of the current node.
+
+
+
+
+ Returns the depth of the current node in the XML document.
+
+
+
+
+ Returns a value that indicates whether the reader is positioned at the end of the stream.
+
+
+
+
+ Returns a value that indicates whether the current node can have a .
+
+
+
+
+ Returns a value that indicates whether the current node is an empty element.
+
+
+
+
+ Returns the local name of the current node.
+
+
+
+
+ Returns the that is associated with this implementation.
+
+
+
+
+ Returns the namespace URI (as defined in the W3C Namespace specification) of the node on which the reader is positioned.
+
+
+
+
+ Returns the type of the current node.
+
+
+
+
+ Returns the namespace prefix that is associated with the current node.
+
+
+
+
+ Returns the state of the reader.
+
+
+
+
+ Returns the text value of the current node.
+
+
+
+
+ Defines the possible throttling modes in SQL Database.
+
+
+
+
+ Corresponds to the "No Throttling" throttling mode, in which all SQL statements can be processed.
+
+
+
+
+ Corresponds to the "Reject Update / Insert" throttling mode, in which SQL statements such as INSERT, UPDATE, CREATE TABLE, and CREATE INDEX are rejected.
+
+
+
+
+ Corresponds to the "Reject All Writes" throttling mode, in which SQL statements such as INSERT, UPDATE, DELETE, CREATE, and DROP are rejected.
+
+
+
+
+ Corresponds to the "Reject All" throttling mode, in which all SQL statements are rejected.
+
+
+
+
+ Corresponds to an unknown throttling mode whereby throttling mode cannot be determined with certainty.
+
+
+
+
+ Defines the possible throttling types in SQL Database.
+
+
+
+
+ Indicates that no throttling was applied to a given resource.
+
+
+
+
+ Corresponds to a soft throttling type. Soft throttling is applied when machine resources such as, CPU, I/O, storage, and worker threads exceed
+ predefined safety thresholds despite the load balancer’s best efforts.
+
+
+
+
+ Corresponds to a hard throttling type. Hard throttling is applied when the machine is out of resources, for example storage space.
+ With hard throttling, no new connections are allowed to the databases hosted on the machine until resources are freed up.
+
+
+
+
+ Corresponds to an unknown throttling type in the event that the throttling type cannot be determined with certainty.
+
+
+
+
+ Defines the types of resources in SQL Database that may be subject to throttling conditions.
+
+
+
+
+ Corresponds to the "Physical Database Space" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to the "Physical Log File Space" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to the "Transaction Log Write IO Delay" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to the "Database Read IO Delay" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to the "CPU" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to the "Database Size" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to the "SQL Worker Thread Pool" resource, which may be subject to throttling.
+
+
+
+
+ Corresponds to an internal resource that may be subject to throttling.
+
+
+
+
+ Corresponds to an unknown resource type in the event that the actual resource cannot be determined with certainty.
+
+
+
+
+ Implements an object that holds the decoded reason code returned from SQL Database when throttling conditions are encountered.
+
+
+
+
+ Gets the error number that corresponds to the throttling conditions reported by SQL Database.
+
+
+
+
+ Maintains a collection of key/value pairs where a key is the resource type and a value is the type of throttling applied to the given resource type.
+
+
+
+
+ Provides a compiled regular expression used to extract the reason code from the error message.
+
+
+
+
+ Determines throttling conditions from the specified SQL exception.
+
+ The object that contains information relevant to an error returned by SQL Server when throttling conditions were encountered.
+ An instance of the object that holds the decoded reason codes returned from SQL Database when throttling conditions were encountered.
+
+
+
+ Determines the throttling conditions from the specified SQL error.
+
+ The object that contains information relevant to a warning or error returned by SQL Server.
+ An instance of the object that holds the decoded reason codes returned from SQL Database when throttling conditions were encountered.
+
+
+
+ Determines the throttling conditions from the specified reason code.
+
+ The reason code returned by SQL Database that contains the throttling mode and the exceeded resource types.
+ An instance of the object holding the decoded reason codes returned from SQL Database when encountering throttling conditions.
+
+
+
+ Returns a textual representation of the current ThrottlingCondition object, including the information held with respect to throttled resources.
+
+ A string that represents the current ThrottlingCondition object.
+
+
+
+ Gets an unknown throttling condition in the event that the actual throttling condition cannot be determined.
+
+
+
+
+ Gets the value that reflects the throttling mode in SQL Database.
+
+
+
+
+ Gets a list of the resources in the SQL Database that were subject to throttling conditions.
+
+
+
+
+ Gets a value that indicates whether physical data file space throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether physical log space throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether transaction activity throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether data read activity throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether CPU throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether database size throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether concurrent requests throttling was reported by SQL Database.
+
+
+
+
+ Gets a value that indicates whether throttling conditions were not determined with certainty.
+
+
+
+
+ Provides support for retry policy-aware transactional scope.
+
+
+
+
+ Initializes a new instance of the class.
+ Implements no retry policy, but just invokes the unit of work exactly once.
+
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified retry policy.
+
+ The retry policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified requirements.
+ Implements no retry policy, but just invokes the unit of work exactly once.
+
+ One of the enumeration values that specifies the transaction requirements associated with this transaction scope.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified time-out value and requirements.
+ Implements no retry policy, but just invokes the unit of work exactly once.
+
+ One of the enumeration values that specifies the transaction requirements associated with this transaction scope.
+ The TimeSpan after which the transaction scope times out and aborts the transaction.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified time-out value, transaction scope options, and retry policy.
+ Uses the ReadCommitted isolation level by default.
+
+ One of the enumeration values that specifies the transaction requirements associated with this transaction scope.
+ The TimeSpan after which the transaction scope times out and aborts the transaction.
+ The retry policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified requirements.
+ Implements no retry policy, but just invokes the unit of work exactly once.
+
+ One of the enumeration values that specifies the transaction requirements associated with this transaction scope.
+ A structure that describes the transaction options to use if a new transaction is created. If an existing transaction is used, the time-out value in this parameter applies to the transaction scope. If that time expires before the scope is disposed, the transaction is aborted.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified requirements and retry policy.
+
+ One of the enumeration values that specifies the transaction requirements associated with this transaction scope.
+ A structure that describes the transaction options to use if a new transaction is created. If an existing transaction is used, the time-out value in this parameter applies to the transaction scope. If that time expires before the scope is disposed, the transaction is aborted.
+ The retry policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified requirements and retry policy.
+ Uses the ReadCommitted isolation level by default.
+
+ One of the enumeration values that specifies the transaction requirements associated with this transaction scope.
+ The retry policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class and sets the specified transaction as the ambient transaction,
+ so that transactional work performed inside the scope uses this transaction. Implements no retry policy, but just invokes the unit of work exactly once.
+
+ The transaction to be set as the ambient transaction, so that transactional work performed inside the scope uses this transaction.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified retry policy and sets the specified transaction as the ambient transaction,
+ so that transactional work performed inside the scope uses this transaction.
+
+ The transaction to be set as the ambient transaction, so that transactional work performed inside the scope uses this transaction.
+ The retry policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified time-out value, and sets the specified transaction as the ambient transaction,
+ so that transactional work performed inside the scope uses this transaction. Implements no retry policy, but just invokes the unit of work exactly once.
+
+ The transaction to be set as the ambient transaction, so that transactional work performed inside the scope uses this transaction.
+ The TimeSpan after which the transaction scope times out and aborts the transaction.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Initializes a new instance of the class with the specified time-out value, and sets the specified transaction as the ambient transaction,
+ so that transactional work performed inside the scope uses this transaction. Uses the specified retry policy.
+
+ The transaction to be set as the ambient transaction, so that transactional work performed inside the scope uses this transaction.
+ The TimeSpan after which the transaction scope times out and aborts the transaction.
+ The retry policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+ A delegate that represents the executable unit of work that will be retried upon failure.
+
+
+
+ Executes the underlying unit of work and retries as prescribed by the current retry policy.
+
+
+
+
+ Indicates that all operations within the scope have been completed successfully.
+
+
+
+
+ Ends the transaction scope.
+
+
+
+
+ Configures the specified retry policy to work with a transactional scope.
+
+
+
+
+ Gets the policy that determines whether to retry the execution of the entire scope if a transient fault is encountered.
+
+
+
+
diff --git a/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.dll b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.dll
new file mode 100644
index 0000000..d798580
Binary files /dev/null and b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.dll differ
diff --git a/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.xml b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.xml
new file mode 100644
index 0000000..a9ceaa0
--- /dev/null
+++ b/LoadGenerator/Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.xml
@@ -0,0 +1,742 @@
+
+
+
+ Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling
+
+
+
+
+ Handles the execution and retries of the user-initiated task.
+
+ The result type of the user-initiated task.
+
+
+
+ Provides a wrapper for a non-generic and calls into the pipeline
+ to retry only the generic version of the .
+
+
+
+
+ Wraps the non-generic into a generic .
+
+ The task to wrap.
+ A that wraps the non-generic .
+
+
+
+ Implements the common guard methods.
+
+
+
+
+ Checks a string argument to ensure that it isn't null or empty.
+
+ The argument value to check.
+ The name of the argument.
+ The return value should be ignored. It is intended to be used only when validating arguments during instance creation (for example, when calling the base constructor).
+
+
+
+ Checks an argument to ensure that it isn't null.
+
+ The argument value to check.
+ The name of the argument.
+ The return value should be ignored. It is intended to be used only when validating arguments during instance creation (for example, when calling the base constructor).
+
+
+
+ Checks an argument to ensure that its 32-bit signed value isn't negative.
+
+ The value of the argument.
+ The name of the argument for diagnostic purposes.
+
+
+
+ Checks an argument to ensure that its 64-bit signed value isn't negative.
+
+ The value of the argument.
+ The name of the argument for diagnostic purposes.
+
+
+
+ Checks an argument to ensure that its value doesn't exceed the specified ceiling baseline.
+
+ The value of the argument.
+ The ceiling value of the argument.
+ The name of the argument for diagnostic purposes.
+
+
+
+ Defines an interface that must be implemented by custom components responsible for detecting specific transient conditions.
+
+
+
+
+ Determines whether the specified exception represents a transient failure that can be compensated by a retry.
+
+ The exception object to be verified.
+ true if the specified exception is considered as transient; otherwise, false.
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to The specified argument {0} cannot be greater than its ceiling value of {1}..
+
+
+
+
+ Looks up a localized string similar to The specified argument {0} cannot be initialized with a negative value..
+
+
+
+
+ Looks up a localized string similar to Default retry strategy for technology {0}, named '{1}', is not defined..
+
+
+
+
+ Looks up a localized string similar to Default retry strategy for technology {0} was not not defined, and there is no overall default strategy..
+
+
+
+
+ Looks up a localized string similar to The RetryManager is already set..
+
+
+
+
+ Looks up a localized string similar to The default RetryManager has not been set. Set it by invoking the RetryManager.SetDefault static method, or if you are using declarative configuration, you can invoke the RetryPolicyFactory.CreateDefault() method to automatically create the retry manager from the configuration file..
+
+
+
+
+ Looks up a localized string similar to The action has exceeded its defined retry limit..
+
+
+
+
+ Looks up a localized string similar to The retry strategy with name '{0}' cannot be found..
+
+
+
+
+ Looks up a localized string similar to The specified string argument {0} must not be empty..
+
+
+
+
+ Looks up a localized string similar to The specified argument '{0}' cannot return a null task when invoked..
+
+
+
+
+ Looks up a localized string similar to The specified argument '{0}' must return a scheduled task (also known as "hot" task) when invoked..
+
+
+
+
+ Contains information that is required for the event.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The current retry attempt count.
+ The delay that indicates how long the current thread will be suspended before the next iteration is invoked.
+ The exception that caused the retry conditions to occur.
+
+
+
+ Gets the current retry count.
+
+
+
+
+ Gets the delay that indicates how long the current thread will be suspended before the next iteration is invoked.
+
+
+
+
+ Gets the exception that caused the retry conditions to occur.
+
+
+
+
+ The special type of exception that provides managed exit from a retry loop. The user code can use this
+ exception to notify the retry policy that no further retry attempts are required.
+
+
+
+
+ Initializes a new instance of the class with a default error message.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The message that describes the error.
+
+
+
+ Initializes a new instance of the class with a reference to the inner exception
+ that is the cause of this exception.
+
+ The exception that is the cause of the current exception.
+
+
+
+ Initializes a new instance of the class with a specified error message and inner exception.
+
+ The message that describes the error.
+ The exception that is the cause of the current exception.
+
+
+
+ Provides the entry point to the retry functionality.
+
+
+
+
+ Sets the specified retry manager as the default retry manager.
+
+ The retry manager.
+ true to throw an exception if the manager is already set; otherwise, false. Defaults to .
+ The singleton is already set and is true.
+
+
+
+ Initializes a new instance of the class.
+
+ The complete set of retry strategies.
+
+
+
+ Initializes a new instance of the class with the specified retry strategies and default retry strategy name.
+
+ The complete set of retry strategies.
+ The default retry strategy.
+
+
+
+ Initializes a new instance of the class with the specified retry strategies and defaults.
+
+ The complete set of retry strategies.
+ The default retry strategy.
+ The names of the default strategies for different technologies.
+
+
+
+ Returns a retry policy with the specified error detection strategy and the default retry strategy defined in the configuration.
+
+ The type that implements the interface that is responsible for detecting transient conditions.
+ A new retry policy with the specified error detection strategy and the default retry strategy defined in the configuration.
+
+
+
+ Returns a retry policy with the specified error detection strategy and retry strategy.
+
+ The type that implements the interface that is responsible for detecting transient conditions.
+ The retry strategy name, as defined in the configuration.
+ A new retry policy with the specified error detection strategy and the default retry strategy defined in the configuration.
+
+
+
+ Returns the default retry strategy defined in the configuration.
+
+ The retry strategy that matches the default strategy.
+
+
+
+ Returns the retry strategy that matches the specified name.
+
+ The retry strategy name.
+ The retry strategy that matches the specified name.
+
+
+
+ Returns the retry strategy for the specified technology.
+
+ The techonolgy to get the default retry strategy for.
+ The retry strategy for the specified technology.
+
+
+
+ Gets the default for the application.
+
+ You can update the default retry manager by calling the method.
+
+
+
+ Gets or sets the default retry strategy name.
+
+
+
+
+ Provides the base implementation of the retry mechanism for unreliable actions and transient conditions.
+
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and parameters defining the progressive delay between retries.
+
+ The that is responsible for detecting transient conditions.
+ The strategy to use for this retry policy.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and default fixed time interval between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and fixed time interval between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+ The interval between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and backoff parameters for calculating the exponential delay between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+ The minimum backoff time.
+ The maximum backoff time.
+ The time value that will be used to calculate a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and parameters defining the progressive delay between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used to calculate the progressive delay between retries.
+
+
+
+ Repetitively executes the specified action while it satisfies the current retry policy.
+
+ A delegate that represents the executable action that doesn't return any results.
+
+
+
+ Repetitively executes the specified action while it satisfies the current retry policy.
+
+ The type of result expected from the executable action.
+ A delegate that represents the executable action that returns the result of type .
+ The result from the action.
+
+
+
+ Repetitively executes the specified asynchronous task while it satisfies the current retry policy.
+
+ A function that returns a started task (also known as "hot" task).
+
+ A task that will run to completion if the original task completes successfully (either the
+ first time or after retrying transient failures). If the task fails with a non-transient error or
+ the retry limit is reached, the returned task will transition to a faulted state and the exception must be observed.
+
+
+
+
+ Repetitively executes the specified asynchronous task while it satisfies the current retry policy.
+
+ A function that returns a started task (also known as "hot" task).
+ The token used to cancel the retry operation. This token does not cancel the execution of the asynchronous task.
+
+ Returns a task that will run to completion if the original task completes successfully (either the
+ first time or after retrying transient failures). If the task fails with a non-transient error or
+ the retry limit is reached, the returned task will transition to a faulted state and the exception must be observed.
+
+
+
+
+ Repeatedly executes the specified asynchronous task while it satisfies the current retry policy.
+
+ A function that returns a started task (also known as "hot" task).
+
+ Returns a task that will run to completion if the original task completes successfully (either the
+ first time or after retrying transient failures). If the task fails with a non-transient error or
+ the retry limit is reached, the returned task will transition to a faulted state and the exception must be observed.
+
+
+
+
+ Repeatedly executes the specified asynchronous task while it satisfies the current retry policy.
+
+ A function that returns a started task (also known as "hot" task).
+ The token used to cancel the retry operation. This token does not cancel the execution of the asynchronous task.
+
+ Returns a task that will run to completion if the original task completes successfully (either the
+ first time or after retrying transient failures). If the task fails with a non-transient error or
+ the retry limit is reached, the returned task will transition to a faulted state and the exception must be observed.
+
+
+
+
+ Notifies the subscribers whenever a retry condition is encountered.
+
+ The current retry attempt count.
+ The exception that caused the retry conditions to occur.
+ The delay that indicates how long the current thread will be suspended before the next iteration is invoked.
+
+
+
+ Returns a default policy that performs no retries, but invokes the action only once.
+
+
+
+
+ Returns a default policy that implements a fixed retry interval configured with the default retry strategy.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a progressive retry interval configured with the default retry strategy.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a random exponential retry interval configured with the default retry strategy.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ An instance of a callback delegate that will be invoked whenever a retry condition is encountered.
+
+
+
+
+ Gets the retry strategy.
+
+
+
+
+ Gets the instance of the error detection strategy.
+
+
+
+
+ Implements a strategy that ignores any transient errors.
+
+
+
+
+ Always returns false.
+
+ The exception.
+ Always false.
+
+
+
+ Implements a strategy that treats all exceptions as transient errors.
+
+
+
+
+ Always returns true.
+
+ The exception.
+ Always true.
+
+
+
+ Provides a generic version of the class.
+
+ The type that implements the interface that is responsible for detecting transient conditions.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and parameters defining the progressive delay between retries.
+
+ The strategy to use for this retry policy.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and the default fixed time interval between retries.
+
+ The number of retry attempts.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and a fixed time interval between retries.
+
+ The number of retry attempts.
+ The interval between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and backoff parameters for calculating the exponential delay between retries.
+
+ The number of retry attempts.
+ The minimum backoff time.
+ The maximum backoff time.
+ The time value that will be used to calculate a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and parameters defining the progressive delay between retries.
+
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used to calculate the progressive delay between retries.
+
+
+
+ A retry strategy with backoff parameters for calculating the exponential delay between retries.
+
+
+
+
+ Represents a retry strategy that determines the number of retry attempts and the interval between retries.
+
+
+
+
+ Represents the default number of retry attempts.
+
+
+
+
+ Represents the default amount of time used when calculating a random delta in the exponential delay between retries.
+
+
+
+
+ Represents the default maximum amount of time used when calculating the exponential delay between retries.
+
+
+
+
+ Represents the default minimum amount of time used when calculating the exponential delay between retries.
+
+
+
+
+ Represents the default interval between retries.
+
+
+
+
+ Represents the default time increment between retry attempts in the progressive delay policy.
+
+
+
+
+ Represents the default flag indicating whether the first retry attempt will be made immediately,
+ whereas subsequent retries will remain subject to the retry interval.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the retry strategy.
+ true to immediately retry in the first attempt; otherwise, false. The subsequent retries will remain subject to the configured retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ Returns a default policy that performs no retries, but invokes the action only once.
+
+
+
+
+ Returns a default policy that implements a fixed retry interval configured with the and parameters.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a progressive retry interval configured with the , , and parameters.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a random exponential retry interval configured with the , , , and parameters.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Gets or sets a value indicating whether the first retry attempt will be made immediately,
+ whereas subsequent retries will remain subject to the retry interval.
+
+
+
+
+ Gets the name of the retry strategy.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified retry settings.
+
+ The maximum number of retry attempts.
+ The minimum backoff time
+ The maximum backoff time.
+ The value that will be used to calculate a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the class with the specified name and retry settings.
+
+ The name of the retry strategy.
+ The maximum number of retry attempts.
+ The minimum backoff time
+ The maximum backoff time.
+ The value that will be used to calculate a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the class with the specified name, retry settings, and fast retry option.
+
+ The name of the retry strategy.
+ The maximum number of retry attempts.
+ The minimum backoff time
+ The maximum backoff time.
+ The value that will be used to calculate a random delta in the exponential delay between retries.
+ true to immediately retry in the first attempt; otherwise, false. The subsequent retries will remain subject to the configured retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ Represents a retry strategy with a specified number of retry attempts and a default, fixed time interval between retries.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts.
+
+ The number of retry attempts.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts and time interval.
+
+ The number of retry attempts.
+ The time interval between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts, time interval, and retry strategy.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The time interval between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts, time interval, retry strategy, and fast start option.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The time interval between retries.
+ true to immediately retry in the first attempt; otherwise, false. The subsequent retries will remain subject to the configured retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ A retry strategy with a specified number of retry attempts and an incremental time interval between retries.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified retry settings.
+
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used to calculate the progressive delay between retries.
+
+
+
+ Initializes a new instance of the class with the specified name and retry settings.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used to calculate the progressive delay between retries.
+
+
+
+ Initializes a new instance of the class with the specified number of retry attempts, time interval, retry strategy, and fast start option.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used to calculate the progressive delay between retries.
+ true to immediately retry in the first attempt; otherwise, false. The subsequent retries will remain subject to the configured retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ Defines a callback delegate that will be invoked whenever a retry condition is encountered.
+
+ The current retry attempt count.
+ The exception that caused the retry conditions to occur.
+ The delay that indicates how long the current thread will be suspended before the next iteration is invoked.
+ if a retry is allowed; otherwise, .
+
+
+