IReliableStateManager.GetOrAddAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
GetOrAddAsync<T>(String) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(Uri) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(ITransaction, String) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(ITransaction, Uri) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(String, TimeSpan) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(Uri, TimeSpan) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(ITransaction, String, TimeSpan) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(ITransaction, Uri, TimeSpan) |
Gets an IReliableState of the given type |
GetOrAddAsync<T>(String)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (string name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : string -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As String) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- name
- String
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
.
The operation failed to complete within the default timeout.
Thrown when the IReliableStateManager is not in Primary.
Indicates that the Reliable State Manager is closed.
The operation has been internally faulted by the system. Retry the operation
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created.
Applies to
GetOrAddAsync<T>(Uri)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Uri name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Uri -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As Uri) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- name
- Uri
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
.
The operation failed to complete within the default timeout.
Thrown when the IReliableStateManager is not in Primary.
Indicates that the Reliable State Manager is closed.
The operation has been internally faulted by the system. Retry the operation
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created.
Applies to
GetOrAddAsync<T>(ITransaction, String)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, string name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * string -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As String) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- tx
- ITransaction
Transaction to associate this operation with.
- name
- String
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
tx
is null, or name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
.
The operation failed to complete within the default timeout.
Thrown when the IReliableStateManager is not in Primary.
The transaction has been internally faulted by the system. Retry the operation on a new transaction
Thrown when a method call is invalid for the object's current state. Example, transaction used is already terminated: committed or aborted by the user. If this exception is thrown, it is highly likely that there is a bug in the service code of the use of transactions.
Indicates that the Reliable State Manager is closed.
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created. If this method throws an exception, the transaction must be aborted.
Applies to
GetOrAddAsync<T>(ITransaction, Uri)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, Uri name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * Uri -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As Uri) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- tx
- ITransaction
Transaction to associate this operation with.
- name
- Uri
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
tx
is null, or name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
.
The operation failed to complete within the default timeout.
Thrown when the IReliableStateManager is not in Primary.
The transaction has been internally faulted by the system. Retry the operation on a new transaction
Thrown when a method call is invalid for the object's current state. Example, transaction used is already terminated: committed or aborted by the user. If this exception is thrown, it is highly likely that there is a bug in the service code of the use of transactions.
Indicates that the Reliable State Manager is closed.
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created. If this method throws an exception, the transaction must be aborted.
Applies to
GetOrAddAsync<T>(String, TimeSpan)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (string name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : string * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As String, timeout As TimeSpan) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- name
- String
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
- timeout
- TimeSpan
The amount of time to wait for the operation to complete before throwing a TimeoutException. Primarily used to prevent deadlocks. The default is 4 seconds.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
, or timeout
is negative.
The operation failed to complete within the given timeout.
Thrown when the IReliableStateManager is not in Primary.
Indicates that the Reliable State Manager is closed.
The operation has been internally faulted by the system. Retry the operation
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created.
Applies to
GetOrAddAsync<T>(Uri, TimeSpan)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Uri name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Uri * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As Uri, timeout As TimeSpan) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- name
- Uri
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
- timeout
- TimeSpan
The amount of time to wait for the operation to complete before throwing a TimeoutException. Primarily used to prevent deadlocks. The default is 4 seconds.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
, or timeout
is negative.
The operation failed to complete within the given timeout.
Thrown when the IReliableStateManager is not in Primary.
Indicates that the Reliable State Manager is closed.
The operation has been internally faulted by the system. Retry the operation
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created.
Applies to
GetOrAddAsync<T>(ITransaction, String, TimeSpan)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, string name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * string * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As String, timeout As TimeSpan) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- tx
- ITransaction
Transaction to associate this operation with.
- name
- String
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
- timeout
- TimeSpan
The amount of time to wait for the operation to complete before throwing a TimeoutException. Primarily used to prevent deadlocks. The default is 4 seconds.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
tx
is null, or name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
, or timeout
is negative.
The operation failed to complete within the given timeout.
Thrown when the IReliableStateManager is not in Primary.
The transaction has been internally faulted by the system. Retry the operation on a new transaction
Thrown when a method call is invalid for the object's current state. Example, transaction used is already terminated: committed or aborted by the user. If this exception is thrown, it is highly likely that there is a bug in the service code of the use of transactions.
Indicates that the Reliable State Manager is closed.
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created. If this method throws an exception, the transaction must be aborted.
Applies to
GetOrAddAsync<T>(ITransaction, Uri, TimeSpan)
Gets an IReliableState of the given type T
and with the given name if it exists, or creates one
and returns it if it doesn't already exist.
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, Uri name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * Uri * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As Uri, timeout As TimeSpan) As Task(Of T)
Type Parameters
- T
When specifying the IReliableState type, you may ask for either a class type or an interface type.
If specifying a class type, the system will attempt to return an instance of that type. If an instance of that type cannot be instantiated (e.g., abstract class, no suitable constructor), an ArgumentException is thrown.
If specifying an interface type, the manager will attempt to resolve the interface to a concrete type. If type mapping is specified by the user, this method will use the user-specified mapping to resolve the type (not yet supported). If type mapping is not specified by the user this method will select the default implementation for the interface given. If the given interface type does not have a default implementation, or a user-specified mapping for the type is not provided or the type is invalid, this method will throw ArgumentException.
Parameters
- tx
- ITransaction
Transaction to associate this operation with.
- name
- Uri
The name of the IReliableState. This name must be unique in this IReliableStateManager across IReliableState types, including unrelated types.
- timeout
- TimeSpan
The amount of time to wait for the operation to complete before throwing a TimeoutException. Primarily used to prevent deadlocks. The default is 4 seconds.
Returns
Task that represents the asynchronous operation. The task result is the reliable state instance.
Exceptions
tx
is null, or name
is null.
An instance of the type T
cannot be created, or the existing IReliableState instance is not of type T
, or timeout
is negative.
The operation failed to complete within the given timeout.
Thrown when the IReliableStateManager is not in Primary.
The transaction has been internally faulted by the system. Retry the operation on a new transaction
Thrown when a method call is invalid for the object's current state. Example, transaction used is already terminated: committed or aborted by the user. If this exception is thrown, it is highly likely that there is a bug in the service code of the use of transactions.
Indicates that the Reliable State Manager is closed.
Remarks
This is an atomic operation. When an IReliableState needs to be created, it will either complete and return successfully or it will not be created. If this method throws an exception, the transaction must be aborted.