Partager via


IReliableDictionary<TKey,TValue>.GetOrAddAsync Méthode

Définition

Surcharges

GetOrAddAsync(ITransaction, TKey, TValue, TimeSpan, CancellationToken)

Ajoute une paire clé/valeur au dictionnaire fiable si la clé n’existe pas déjà.

GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>, TimeSpan, CancellationToken)

Ajoute une paire clé/valeur au dictionnaire fiable à l’aide de la fonction spécifiée, si la clé n’existe pas déjà.

GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>)

Ajoute une paire clé/valeur au dictionnaire fiable à l’aide de la fonction spécifiée, si la clé n’existe pas déjà.

GetOrAddAsync(ITransaction, TKey, TValue)

Ajoute une paire clé/valeur au dictionnaire fiable si la clé n’existe pas déjà. Si la clé existe, aucune mise à jour n’est apportée à la valeur.

GetOrAddAsync(ITransaction, TKey, TValue, TimeSpan, CancellationToken)

Ajoute une paire clé/valeur au dictionnaire fiable si la clé n’existe pas déjà.

public System.Threading.Tasks.Task<TValue> GetOrAddAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, TValue value, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * 'Value * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Value>
Public Function GetOrAddAsync (tx As ITransaction, key As TKey, value As TValue, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of TValue)

Paramètres

tx
ITransaction

Transaction à laquelle associer cette opération.

key
TKey

Clé de l'élément à ajouter.

value
TValue

Valeur à ajouter, si la clé n’existe pas encore.

timeout
TimeSpan

Durée d’attente de la fin de l’opération avant de lever une timeoutException. Principalement utilisé pour éviter les interblocages. La valeur par défaut est de 4 secondes.

cancellationToken
CancellationToken

Jeton pour surveiller les requêtes d'annulation. La valeur par défaut est Aucun.

Retours

Task<TValue>

Tâche qui représente l’opération d’ajout asynchrone. Le résultat de la tâche est la valeur de la clé. Il s’agit soit de la valeur existante de la clé si la clé se trouve déjà dans le dictionnaire fiable, soit de la nouvelle valeur si la clé n’était pas dans le dictionnaire fiable.

Exceptions

tx a la valeur null ou key est null ou ne peut pas être sérialisé.

timeout est un nombre négatif.

L’opération n’a pas pu se terminer dans le délai donné.

L'opération a été annulée.

Exception levée lorsque le IReliableDictionary<TKey,TValue> n’est pas dans Primary.

La transaction a été défaillante en interne par le système. Réessayez l’opération sur une nouvelle transaction

Levée lorsqu’un appel de méthode n’est pas valide pour l’état actuel de l’objet. Par exemple, la transaction utilisée est déjà terminée : validée ou abandonnée par l’utilisateur. Si cette exception est levée, il est fort probable qu’il y ait un bogue dans le code de service de l’utilisation des transactions.

Indique que le dictionnaire fiable est fermé ou supprimé.

S’applique à

GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>, TimeSpan, CancellationToken)

Ajoute une paire clé/valeur au dictionnaire fiable à l’aide de la fonction spécifiée, si la clé n’existe pas déjà.

public System.Threading.Tasks.Task<TValue> GetOrAddAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, Func<TKey,TValue> valueFactory, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * Func<'Key, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Value>
Public Function GetOrAddAsync (tx As ITransaction, key As TKey, valueFactory As Func(Of TKey, TValue), timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of TValue)

Paramètres

tx
ITransaction

Transaction à laquelle associer cette opération.

key
TKey

Clé de l'élément à ajouter.

valueFactory
Func<TKey,TValue>

Fonction utilisée pour générer une valeur pour la clé.

timeout
TimeSpan

Durée d’attente de la fin de l’opération avant de lever une timeoutException. Principalement utilisé pour éviter les interblocages. La valeur par défaut est de 4 secondes.

cancellationToken
CancellationToken

Jeton pour surveiller les requêtes d'annulation. La valeur par défaut est Aucun.

Retours

Task<TValue>

Tâche qui représente l’opération d’ajout asynchrone. Le résultat de la tâche est la valeur de la clé. Il s’agit de la valeur existante de la clé si la clé se trouve déjà dans le dictionnaire fiable, ou de la nouvelle valeur de la clé telle que renvoyée par valueFactory si la clé n’était pas dans le dictionnaire fiable.

Exceptions

tx a la valeur null, ou key est null ou ne peut pas être sérialisé, ou valueFactory est null.

timeout est un nombre négatif.

L’opération n’a pas pu se terminer dans le délai donné.

L'opération a été annulée.

Exception levée lorsque le IReliableDictionary<TKey,TValue> n’est pas dans Primary.

La transaction a été défaillante en interne par le système. Réessayez l’opération sur une nouvelle transaction

Levée lorsqu’un appel de méthode n’est pas valide pour l’état actuel de l’objet. Par exemple, la transaction utilisée est déjà terminée : validée ou abandonnée par l’utilisateur. Si cette exception est levée, il est fort probable qu’il y ait un bogue dans le code de service de l’utilisation des transactions.

Indique que le dictionnaire fiable est fermé ou supprimé.

S’applique à

GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>)

Ajoute une paire clé/valeur au dictionnaire fiable à l’aide de la fonction spécifiée, si la clé n’existe pas déjà.

public System.Threading.Tasks.Task<TValue> GetOrAddAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, Func<TKey,TValue> valueFactory);
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * Func<'Key, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> -> System.Threading.Tasks.Task<'Value>
Public Function GetOrAddAsync (tx As ITransaction, key As TKey, valueFactory As Func(Of TKey, TValue)) As Task(Of TValue)

Paramètres

tx
ITransaction

Transaction à laquelle associer cette opération.

key
TKey

Clé de l'élément à ajouter.

valueFactory
Func<TKey,TValue>

Fonction utilisée pour générer une valeur pour la clé.

Retours

Task<TValue>

Tâche qui représente l’opération d’ajout asynchrone. Le résultat de la tâche est la valeur de la clé. Il s’agit de la valeur existante de la clé si la clé se trouve déjà dans le dictionnaire fiable, ou de la nouvelle valeur de la clé telle que renvoyée par valueFactory si la clé n’était pas dans le dictionnaire fiable.

Exceptions

tx a la valeur null, ou key est null ou ne peut pas être sérialisé, ou valueFactory est null.

L’opération n’a pas pu se terminer dans le délai d’attente par défaut.

Exception levée lorsque le IReliableDictionary<TKey,TValue> n’est pas dans Primary.

La transaction a été défaillante en interne par le système. Réessayez l’opération sur une nouvelle transaction

Levée lorsqu’un appel de méthode n’est pas valide pour l’état actuel de l’objet. Par exemple, la transaction utilisée est déjà terminée : validée ou abandonnée par l’utilisateur. Si cette exception est levée, il est fort probable qu’il y ait un bogue dans le code de service de l’utilisation des transactions.

Indique que le dictionnaire fiable est fermé ou supprimé.

S’applique à

GetOrAddAsync(ITransaction, TKey, TValue)

Ajoute une paire clé/valeur au dictionnaire fiable si la clé n’existe pas déjà. Si la clé existe, aucune mise à jour n’est apportée à la valeur.

public System.Threading.Tasks.Task<TValue> GetOrAddAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, TValue value);
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * 'Value -> System.Threading.Tasks.Task<'Value>
Public Function GetOrAddAsync (tx As ITransaction, key As TKey, value As TValue) As Task(Of TValue)

Paramètres

tx
ITransaction

Transaction à laquelle associer cette opération.

key
TKey

Clé de l'élément à ajouter.

value
TValue

Valeur à ajouter, si la clé n’existe pas encore.

Retours

Task<TValue>

Tâche qui représente l’opération d’ajout asynchrone. Le résultat de la tâche est la valeur de la clé. Il s’agit soit de la valeur existante de la clé si la clé se trouve déjà dans le dictionnaire fiable, soit de la nouvelle valeur si la clé n’était pas dans le dictionnaire fiable.

Exceptions

tx a la valeur null ou key est null ou ne peut pas être sérialisé.

L’opération n’a pas pu se terminer dans le délai d’attente par défaut.

Exception levée lorsque le IReliableDictionary<TKey,TValue> n’est pas dans Primary.

La transaction a été défaillante en interne par le système. Réessayez l’opération sur une nouvelle transaction

Levée lorsqu’un appel de méthode n’est pas valide pour l’état actuel de l’objet. Par exemple, la transaction utilisée est déjà terminée : validée ou abandonnée par l’utilisateur. Si cette exception est levée, il est fort probable qu’il y ait un bogue dans le code de service de l’utilisation des transactions.

Indique que le dictionnaire fiable est fermé ou supprimé.

S’applique à