你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IReliableStateManager.GetOrAddAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
GetOrAddAsync<T>(String) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(Uri) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(ITransaction, String) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(ITransaction, Uri) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(String, TimeSpan) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(Uri, TimeSpan) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(ITransaction, String, TimeSpan) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(ITransaction, Uri, TimeSpan) |
IReliableState获取具有给定类型 |
GetOrAddAsync<T>(String)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (string name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : string -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As String) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- name
- String
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
name
为 null。
无法创建 类型的 T
实例,或者现有 IReliableState 实例的类型不是 T
。
操作在默认超时内无法完成。
指示可靠状态管理器已关闭。
操作在内部由系统出错。 重试该操作
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。
适用于
GetOrAddAsync<T>(Uri)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Uri name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Uri -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As Uri) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- name
- Uri
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
name
为 null。
无法创建 类型的 T
实例,或者现有 IReliableState 实例的类型不是 T
。
操作在默认超时内无法完成。
指示可靠状态管理器已关闭。
操作在内部由系统出错。 重试该操作
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。
适用于
GetOrAddAsync<T>(ITransaction, String)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, string name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * string -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As String) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- tx
- ITransaction
要与此操作关联的事务。
- name
- String
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
tx
为 null,或 name
为 null。
无法创建 类型的 T
实例,或者现有 IReliableState 实例的类型不是 T
。
操作在默认超时内无法完成。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠状态管理器已关闭。
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。 如果此方法引发异常,则必须中止事务。
适用于
GetOrAddAsync<T>(ITransaction, Uri)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, Uri name) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * Uri -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As Uri) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- tx
- ITransaction
要与此操作关联的事务。
- name
- Uri
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
tx
为 null,或 name
为 null。
无法创建 类型的 T
实例,或者现有 IReliableState 实例的类型不是 T
。
操作在默认超时内无法完成。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠状态管理器已关闭。
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。 如果此方法引发异常,则必须中止事务。
适用于
GetOrAddAsync<T>(String, TimeSpan)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (string name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : string * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As String, timeout As TimeSpan) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- name
- String
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
- timeout
- TimeSpan
在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
name
为 null。
无法创建类型的 T
实例,或者现有 IReliableState 实例不是 类型 T
,或者 timeout
为负。
操作在给定的超时内未能完成。
指示可靠状态管理器已关闭。
操作在内部由系统出错。 重试该操作
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。
适用于
GetOrAddAsync<T>(Uri, TimeSpan)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Uri name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Uri * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (name As Uri, timeout As TimeSpan) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- name
- Uri
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
- timeout
- TimeSpan
在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
name
为 null。
无法创建类型的 T
实例,或者现有 IReliableState 实例不是 类型 T
,或者 timeout
为负。
操作在给定的超时内未能完成。
指示可靠状态管理器已关闭。
操作在内部由系统出错。 重试该操作
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。
适用于
GetOrAddAsync<T>(ITransaction, String, TimeSpan)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, string name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * string * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As String, timeout As TimeSpan) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- tx
- ITransaction
要与此操作关联的事务。
- name
- String
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
- timeout
- TimeSpan
在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
tx
为 null,或 name
为 null。
无法创建类型的 T
实例,或者现有 IReliableState 实例不是 类型 T
,或者 timeout
为负。
操作在给定的超时内未能完成。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠状态管理器已关闭。
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。 如果此方法引发异常,则必须中止事务。
适用于
GetOrAddAsync<T>(ITransaction, Uri, TimeSpan)
IReliableState获取具有给定类型T
且具有给定名称(如果存在)的 ;如果尚不存在,则创建一个并返回它。
public System.Threading.Tasks.Task<T> GetOrAddAsync<T> (Microsoft.ServiceFabric.Data.ITransaction tx, Uri name, TimeSpan timeout) where T : Microsoft.ServiceFabric.Data.IReliableState;
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * Uri * TimeSpan -> System.Threading.Tasks.Task<'T (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)> (requires 'T :> Microsoft.ServiceFabric.Data.IReliableState)
Public Function GetOrAddAsync(Of T As IReliableState) (tx As ITransaction, name As Uri, timeout As TimeSpan) As Task(Of T)
类型参数
- T
指定 IReliableState 类型时,可能会要求提供类类型或接口类型。
如果指定类类型,系统将尝试返回该类型的实例。 如果无法实例化该类型的实例 (例如抽象类,则) 没有合适的构造函数,则会引发 ArgumentException。
如果指定接口类型,管理器将尝试将接口解析为具体类型。 如果用户指定类型映射,此方法将使用用户指定的映射来解析) 尚不支持的类型 (。 如果用户未指定类型映射,则此方法将为给定的接口选择默认实现。 如果给定的接口类型没有默认实现,或者未为类型提供用户指定的映射或类型无效,则此方法将引发 ArgumentException。
参数
- tx
- ITransaction
要与此操作关联的事务。
- name
- Uri
IReliableState 的名称。 此名称在各IReliableState类型(包括不相关的类型)中必须是唯一IReliableStateManager的。
- timeout
- TimeSpan
在引发 TimeoutException 之前等待操作完成的时间量。 主要用于防止死锁。 默认值为 4 秒。
返回
表示异步操作的任务。 任务结果是可靠状态实例。
例外
tx
为 null,或 name
为 null。
无法创建类型的 T
实例,或者现有 IReliableState 实例不是 类型 T
,或者 timeout
为负。
操作在给定的超时内未能完成。
事务在内部由系统出错。 对新事务重试操作
当方法调用对对象的当前状态无效时引发。 例如,使用的事务已终止:用户已提交或中止。 如果引发此异常,则很可能使用事务的服务代码中存在 bug。
指示可靠状态管理器已关闭。
注解
这是一个原子操作。 需要创建 时 IReliableState ,它将完成并成功返回,或者不会创建它。 如果此方法引发异常,则必须中止事务。