Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';无法重现SqlAzureExecutionStrategy异常_C#_Sql Server_Azure_Exception - Fatal编程技术网

C# Can';无法重现SqlAzureExecutionStrategy异常

C# Can';无法重现SqlAzureExecutionStrategy异常,c#,sql-server,azure,exception,C#,Sql Server,Azure,Exception,我有一个例外,我无法复制它。根据文档,它用于故障,因此复制它可能很困难 我已经在Azure中运行了这个过程,所以我希望有一些日志或其他东西可以告诉我更多细节。我在门户网站上找不到类似的东西。这些信息在哪里?我自己还没有试过(所以我可能完全错了——如果我错了,请告诉我:) 此外,我的理解是,您要测试您定义的执行策略是否在重试、重试次数和重试之间的延迟方面起作用 你的观察是正确的,仅仅因为事情不在你的控制之下,很难模拟瞬时错误。然而,看看文档和一些示例,您可以做的是重写并插入自定义的失败逻辑。因此,

我有一个例外,我无法复制它。根据文档,它用于故障,因此复制它可能很困难

我已经在Azure中运行了这个过程,所以我希望有一些日志或其他东西可以告诉我更多细节。我在门户网站上找不到类似的东西。这些信息在哪里?

我自己还没有试过(所以我可能完全错了——如果我错了,请告诉我:)

此外,我的理解是,您要测试您定义的执行策略是否在重试、重试次数和重试之间的延迟方面起作用

你的观察是正确的,仅仅因为事情不在你的控制之下,很难模拟瞬时错误。然而,看看文档和一些示例,您可以做的是重写并插入自定义的失败逻辑。因此,您可能会将登录失败添加为暂时性错误,然后查看这件事是否适合您(就重试和重试延迟而言)

考虑以下示例(),其中作者将编号为==-2的
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;
}