Share via


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IReliableDictionary<TKey,TValue>.AddOrUpdateAsync 方法

定义

重载

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

使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在),或者更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

如果键尚不存在,请将键/值对添加到 Reliable Dictionary,或者通过使用指定的函数更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在),或者更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

如果键尚不存在,请将键/值对添加到 Reliable Dictionary,或者通过使用指定的函数更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在),或者更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

参数

tx
ITransaction

要与此操作关联的事务。

key
TKey

要添加的键或应更新其值的键。

addValueFactory
Func<TKey,TValue>

用于为空缺键生成值的函数。

updateValueFactory
Func<TKey,TValue,TValue>

用以基于键的现有值为现有键生成新值的函数。

返回

Task<TValue>

表示异步添加或更新操作的任务。 任务结果为键的新值。 如果) 不存在键,则这是 addValueFactory (的结果,或者如果键) 存在,则为 updateValueFactory (的结果。

例外

tx 为 null、为 key null 或无法序列化、 addValueFactory 为 null 或 updateValueFactory 为 null。

操作在默认超时内无法完成。

事务在内部由系统出错。 对新事务重试操作

当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。

指示可靠字典已关闭或删除。

适用于

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

如果键尚不存在,请将键/值对添加到 Reliable Dictionary,或者通过使用指定的函数更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

参数

tx
ITransaction

要与此操作关联的事务。

key
TKey

要添加的键或应更新其值的键。

addValue
TValue

要为缺席键添加的值。 对于引用类型,该值可以为 null。

updateValueFactory
Func<TKey,TValue,TValue>

用以基于键的现有值为现有键生成新值的函数。

返回

Task<TValue>

表示异步添加或更新操作的任务。 任务结果为键的新值。 如果键) 不存在,则为 addValue (,或者如果键) 存在,则为 updateValueFactory (的结果。

例外

tx 为 null、为 key null、无法序列化或 updateValueFactory 为 null。

操作在默认超时内无法完成。

事务在内部由系统出错。 对新事务重试操作

当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。

指示可靠字典已关闭或删除。

适用于

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

使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在),或者更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

参数

tx
ITransaction

要与此操作关联的事务。

key
TKey

要添加的键或应更新其值的键。

addValueFactory
Func<TKey,TValue>

用于为空缺键生成值的函数。

updateValueFactory
Func<TKey,TValue,TValue>

用以基于键的现有值为现有键生成新值的函数。

timeout
TimeSpan

在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。

cancellationToken
CancellationToken

要监视取消请求的标记。 默认值为 None。

返回

Task<TValue>

表示异步添加或更新操作的任务。 任务结果为键的新值。 如果) 不存在键,则这是 addValueFactory (的结果,或者如果键) 存在,则为 updateValueFactory (的结果。

例外

tx 为 null、为 key null 或无法序列化、 addValueFactory 为 null 或 updateValueFactory 为 null。

timeout 为负数。

操作在给定的超时内未能完成。

该操作已取消。

事务在内部由系统出错。 对新事务重试操作

当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。

指示可靠字典已关闭或删除。

适用于

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

如果键尚不存在,请将键/值对添加到 Reliable Dictionary,或者通过使用指定的函数更新 Reliable Dictionary 中的键/值对(如果该键已存在)。

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

参数

tx
ITransaction

要与此操作关联的事务。

key
TKey

要添加的键或应更新其值的键。

addValue
TValue

要为缺席键添加的值。 对于引用类型,该值可以为 null。

updateValueFactory
Func<TKey,TValue,TValue>

用以基于键的现有值为现有键生成新值的函数。

timeout
TimeSpan

在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。

cancellationToken
CancellationToken

要监视取消请求的标记。 默认值为 None。

返回

Task<TValue>

表示异步添加或更新操作的任务。 任务结果为键的新值。 如果键) 不存在,则为 addValue (,或者如果键) 存在,则为 updateValueFactory (的结果。

例外

tx 为 null、为 key null、无法序列化或 updateValueFactory 为 null。

timeout 为负数。

操作在给定的超时内未能完成。

该操作已取消。

事务在内部由系统出错。 对新事务重试操作

当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。

指示可靠字典已关闭或删除。

适用于