C# Can';无法重现SqlAzureExecutionStrategy异常
我有一个例外,我无法复制它。根据文档,它用于故障,因此复制它可能很困难 我已经在Azure中运行了这个过程,所以我希望有一些日志或其他东西可以告诉我更多细节。我在门户网站上找不到类似的东西。这些信息在哪里?我自己还没有试过(所以我可能完全错了——如果我错了,请告诉我:) 此外,我的理解是,您要测试您定义的执行策略是否在重试、重试次数和重试之间的延迟方面起作用 你的观察是正确的,仅仅因为事情不在你的控制之下,很难模拟瞬时错误。然而,看看文档和一些示例,您可以做的是重写并插入自定义的失败逻辑。因此,您可能会将登录失败添加为暂时性错误,然后查看这件事是否适合您(就重试和重试延迟而言) 考虑以下示例(),其中作者将编号为==-2的C# Can';无法重现SqlAzureExecutionStrategy异常,c#,sql-server,azure,exception,C#,Sql Server,Azure,Exception,我有一个例外,我无法复制它。根据文档,它用于故障,因此复制它可能很困难 我已经在Azure中运行了这个过程,所以我希望有一些日志或其他东西可以告诉我更多细节。我在门户网站上找不到类似的东西。这些信息在哪里?我自己还没有试过(所以我可能完全错了——如果我错了,请告诉我:) 此外,我的理解是,您要测试您定义的执行策略是否在重试、重试次数和重试之间的延迟方面起作用 你的观察是正确的,仅仅因为事情不在你的控制之下,很难模拟瞬时错误。然而,看看文档和一些示例,您可以做的是重写并插入自定义的失败逻辑。因此,
SqlError视为暂时性错误
protected override bool ShouldRetryOn(Exception exception)
{
bool shouldRetry = false;
SqlException sqlException = exception as SqlException;
if (sqlException != null)
{
foreach (SqlError error in sqlException.Errors)
{
if (error.Number == -2)
shouldRetry = true;
}
}
shouldRetry = shouldRetry || base.ShouldRetryOn(exception);
Logger.WriteLog("ShouldRetryOn: " + shouldRetry);
return shouldRetry;
}