クラスと呼ばれるGitHub の Microsoft による Code sampleSqlServerRetryingExecutionStrategy
から継承しましたMySQLServerRetryPolicy
ShouldRetryOn
のオーバーライドされたメソッドにキャンセルトークンを追加したMySQLServerRetryPolicy
ので、Ctrl+C を押して NET.Core コンソールを強制終了できました。以下にコード スニペットを示します。
protected override bool ShouldRetryOn(Exception exception) {
_retryCancellationToken.ThrowIfCancellationRequested();}
使用方法は次のMySQLServerRetryPolicy
とおりです。
builder.UseSqlServer(ConnectionString, options => {
options.ExecutionStrategy(exeStrategyDependencies=>
new MySQLServerRetryPolicy(
exeStrategyDependencies, _errorNumRetryList, RetryCancelToken.Token));
builder
上記の変数は の型ですDbContextOptionsBuilder
。
ただし、単体テストでは、SQl 再試行ポリシーが永久に実行されているかどうかを示す出力はありません。
質問: 単体テストで SQL 再試行ポリシーを無視またはスキップするにはどうすればよいですか?