本文整理汇总了C#中IRetryPolicy.ExecuteAsyncWithRetry方法的典型用法代码示例。如果您正苦于以下问题:C# IRetryPolicy.ExecuteAsyncWithRetry方法的具体用法?C# IRetryPolicy.ExecuteAsyncWithRetry怎么用?C# IRetryPolicy.ExecuteAsyncWithRetry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRetryPolicy
的用法示例。
在下文中一共展示了IRetryPolicy.ExecuteAsyncWithRetry方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecuteReaderAsyncWithRetry
public static Task<SqlDataReader> ExecuteReaderAsyncWithRetry(
SqlCommand command,
CommandBehavior behavior,
IRetryPolicy retryPolicy)
{
return retryPolicy.ExecuteAsyncWithRetry(() => command.ExecuteReaderAsync(behavior));
}
示例2: ExecuteNonQueryAsyncWithRetry
public static Task<int> ExecuteNonQueryAsyncWithRetry(
SqlCommand command,
CancellationToken cancellationToken,
IRetryPolicy retryPolicy)
{
return retryPolicy.ExecuteAsyncWithRetry(() => command.ExecuteNonQueryAsync(cancellationToken));
}
示例3: OpenAsyncWithRetry
public static Task OpenAsyncWithRetry(
this SqlConnection connection,
CancellationToken cancellationToken,
IRetryPolicy retryPolicy)
{
return retryPolicy.ExecuteAsyncWithRetry(() => connection.OpenAsync(cancellationToken));
}
示例4: TestSqlRetryPolicy
private static async Task TestSqlRetryPolicy(IRetryPolicy retryPolicy, int interval)
{
var retryCount = 0;
retryPolicy.Retry += (sender, args) =>
{
retryCount++;
// Assert
Assert.Equal(typeof(TimeoutException), args.Exception.GetType());
Assert.Equal(retryCount, args.RetryCount);
Assert.Equal(retryCount * interval, args.Delay.TotalMilliseconds);
};
var taskFunction = TaskFunctionTestFactory.GetTaskFunctionTResultWithRetry();
// Act
await retryPolicy.ExecuteAsyncWithRetry(taskFunction);
}
示例5: ExecuteScalarAsyncWithRetry
public static Task<object> ExecuteScalarAsyncWithRetry(
SqlCommand command,
IRetryPolicy retryPolicy)
{
return retryPolicy.ExecuteAsyncWithRetry(command.ExecuteScalarAsync);
}