sdk
latest
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

开发者指南

上次更新日期 2024年10月25日

超时

“超时” 开关可向活动添加“超时” 属性。 如果活动未在此属性指定的时间内完成执行,则会引发错误。 默认超时自动设置为 60000 毫秒(1 分钟)。

Activity Creator



生成的代码

具有超时的活动包含一个 ExecuteWithTimeout 方法,其中包含该活动的执行逻辑。 此方法在主 ExecuteAsync 方法中调用,并在设定的时间量(默认为 60 秒)后超时。
protected override async Task<Action<AsyncCodeActivityContext>> ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
    {
        // Inputs
        var timeout = TimeoutMS.Get(context);
  
        // Set a timeout on the execution
        var task = ExecuteWithTimeout(context, cancellationToken);
        if (await Task.WhenAny(task, Task.Delay(timeout, cancellationToken)) != task) throw new TimeoutException(Resources.Timeout_Error);
  
        // Outputs
        return (ctx) => { };
    }
private async Task ExecuteWithTimeout(AsyncCodeActivityContext context, CancellationToken cancellationToken = default)
{
    ///////////////////////////
    // Add execution logic HERE
    ///////////////////////////
}protected override async Task<Action<AsyncCodeActivityContext>> ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
    {
        // Inputs
        var timeout = TimeoutMS.Get(context);
  
        // Set a timeout on the execution
        var task = ExecuteWithTimeout(context, cancellationToken);
        if (await Task.WhenAny(task, Task.Delay(timeout, cancellationToken)) != task) throw new TimeoutException(Resources.Timeout_Error);
  
        // Outputs
        return (ctx) => { };
    }
private async Task ExecuteWithTimeout(AsyncCodeActivityContext context, CancellationToken cancellationToken = default)
{
    ///////////////////////////
    // Add execution logic HERE
    ///////////////////////////
}

UiPath Studio 中的效果



此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。