你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
StatelessService.RunAsync(CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
要实现后台任务(服务启动时运行)的服务应使用其逻辑替代此方法。
有关 Reliable Services 生命周期的信息,请参阅 https://docs.microsoft.com/azure/service-fabric/service-fabric-reliable-services-lifecycle
protected virtual System.Threading.Tasks.Task RunAsync (System.Threading.CancellationToken cancellationToken);
abstract member RunAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.RunAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Protected Overridable Function RunAsync (cancellationToken As CancellationToken) As Task
参数
- cancellationToken
- CancellationToken
用于监视取消请求的取消令牌。
返回
表示未完成操作的任务。
注解
重写 时 RunAsync(CancellationToken),请确保遵循以下准则:
- 确保
cancellationToken
传递给 RunAsync(CancellationToken) 是接受的,一旦收到信号, RunAsync(CancellationToken) 就会尽快正常退出。 请注意,如果 RunAsync(CancellationToken) 已完成其预期工作,则无需等待cancellationToken
收到信号,并且可以正常返回。 - Service Fabric 运行时不会处理从 RunAsync(CancellationToken)转义) 的所有异常 (。 如果未经处理的异常从 RunAsync(CancellationToken)转义,则 Service Fabric 运行时 () 执行以下操作:
- FabricException 如果 (或其派生的异常) 从 RunAsync(CancellationToken)转义,Service Fabric 运行时将删除此服务实例,并创建新的实例。 此外,Service Fabric Explorer中会显示运行状况警告,其中包含有关未经处理的异常的详细信息。
- OperationCanceledException如果 从 RunAsync(CancellationToken) 中转义,并且 Service Fabric 运行时已通过传递给 RunAsync(CancellationToken)的信号
cancellationToken
请求取消,则 Service Fabric 运行时将处理此异常,并将其视为正常完成 。RunAsync(CancellationToken) - OperationCanceledException如果 从 RunAsync(CancellationToken) 转义,并且 Service Fabric 运行时未通过传递给 RunAsync(CancellationToken)的信号
cancellationToken
请求取消,则承载此服务实例的进程会关闭。 这将影响同一进程托管的所有其他服务实例。 可以在 Windows 事件查看器中查看有关未经处理的异常的详细信息。 - 如果任何其他类型的异常从 RunAsync(CancellationToken) 中转义,则承载此服务实例的进程将关闭。 这将影响同一进程托管的所有其他服务实例。 可以在 Windows 事件查看器中查看有关未经处理的异常的详细信息。
如果不符合这些准则,可能会导致服务故障转移、重新配置或升级停滞,并可能影响服务的可用性。