Share via


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

IReliableDictionary<TKey,TValue>.GetOrAddAsync 方法

定义

重载

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。

返回

Task<TValue>

表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 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。

返回

Task<TValue>

表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 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>

用于为键生成值的函数。

返回

Task<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

当键不存在时要添加的值。

返回

Task<TValue>

表示异步添加操作的任务。 任务结果为键的值。 如果键已位于 Reliable Dictionary 中,则为键的现有值;如果键不在 Reliable Dictionary 中,则为新值。

例外

tx 为 null,或 key 为 null 或无法序列化。

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

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

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

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

适用于