你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IReliableDictionary<TKey,TValue>.GetOrAddAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
GetOrAddAsync(ITransaction, TKey, TValue, TimeSpan, CancellationToken) |
如果键尚不存在,则将键/值对添加到 Reliable Dictionary。 |
GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>, TimeSpan, CancellationToken) |
使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在)。 |
GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>) |
使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在)。 |
GetOrAddAsync(ITransaction, TKey, TValue) |
如果键尚不存在,则将键/值对添加到 Reliable Dictionary。 如果键存在,则不会对值进行更新。 |
GetOrAddAsync(ITransaction, TKey, TValue, TimeSpan, CancellationToken)
如果键尚不存在,则将键/值对添加到 Reliable Dictionary。
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)
参数
- tx
- ITransaction
要与此操作关联的事务。
- key
- TKey
要添加的元素的键。
- value
- TValue
当键不存在时要添加的值。
- timeout
- TimeSpan
在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。
- cancellationToken
- CancellationToken
要监视取消请求的标记。 默认值为 None。
返回
表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 Reliable Dictionary 中,则为键的现有值;如果键不在 Reliable Dictionary 中,则为新值。
例外
tx
为 null,或 key
为 null 或无法序列化。
timeout
为负数。
操作在给定的超时内未能完成。
该操作已取消。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠字典已关闭或删除。
适用于
GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>, TimeSpan, CancellationToken)
使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在)。
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)
参数
- tx
- ITransaction
要与此操作关联的事务。
- key
- TKey
要添加的元素的键。
- valueFactory
- Func<TKey,TValue>
用于为键生成值的函数。
- timeout
- TimeSpan
在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。
- cancellationToken
- CancellationToken
要监视取消请求的标记。 默认值为 None。
返回
表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 Reliable Dictionary 中,则为键的现有值;如果键不在 Reliable Dictionary 中,则为 valueFactory 返回的键的新值。
例外
tx
为 null、为 key
null、无法序列化或 valueFactory
为 null。
timeout
为负数。
操作在给定的超时内未能完成。
该操作已取消。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠字典已关闭或删除。
适用于
GetOrAddAsync(ITransaction, TKey, Func<TKey,TValue>)
使用指定的函数将键/值对添加到 Reliable Dictionary(如果该键尚不存在)。
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)
参数
- tx
- ITransaction
要与此操作关联的事务。
- key
- TKey
要添加的元素的键。
- valueFactory
- Func<TKey,TValue>
用于为键生成值的函数。
返回
表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 Reliable Dictionary 中,则为键的现有值;如果键不在 Reliable Dictionary 中,则为 valueFactory 返回的键的新值。
例外
tx
为 null、为 key
null、无法序列化或 valueFactory
为 null。
操作在默认超时内无法完成。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠字典已关闭或删除。
适用于
GetOrAddAsync(ITransaction, TKey, TValue)
如果键尚不存在,则将键/值对添加到 Reliable Dictionary。 如果键存在,则不会对值进行更新。
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)
参数
- tx
- ITransaction
要与此操作关联的事务。
- key
- TKey
要添加的元素的键。
- value
- TValue
当键不存在时要添加的值。
返回
表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 Reliable Dictionary 中,则为键的现有值;如果键不在 Reliable Dictionary 中,则为新值。
例外
tx
为 null,或 key
为 null 或无法序列化。
操作在默认超时内无法完成。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠字典已关闭或删除。