你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IReliableDictionary<TKey,TValue>.AddOrUpdateAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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>
用以基于键的现有值为现有键生成新值的函数。
返回
表示异步添加或更新操作的任务。 任务结果为键的新值。 如果) 不存在键,则这是 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>
用以基于键的现有值为现有键生成新值的函数。
返回
表示异步添加或更新操作的任务。 任务结果为键的新值。 如果键) 不存在,则为 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。
返回
表示异步添加或更新操作的任务。 任务结果为键的新值。 如果) 不存在键,则这是 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。
返回
表示异步添加或更新操作的任务。 任务结果为键的新值。 如果键) 不存在,则为 addValue (,或者如果键) 存在,则为 updateValueFactory (的结果。
例外
tx
为 null、为 key
null、无法序列化或 updateValueFactory
为 null。
timeout
为负数。
操作在给定的超时内未能完成。
该操作已取消。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠字典已关闭或删除。