@@ -66,34 +66,35 @@ public void CreateDatabaseWhileTryingToConnect(string cnnString, SqlRetryLogicBa
66
66
using ( var cnn1 = new SqlConnection ( new SqlConnectionStringBuilder ( cnnString ) { ConnectTimeout = 60 , Pooling = false } . ConnectionString ) )
67
67
{
68
68
cnn1 . Open ( ) ;
69
- Task createDBTask = null ;
70
- try
69
+ using ( var cmd = cnn1 . CreateCommand ( ) )
71
70
{
72
- provider . Retrying += ( s , e ) =>
71
+ Task createDBTask = null ;
72
+ try
73
73
{
74
- currentRetries = e . RetryCount ;
75
- using ( var cmd = cnn1 . CreateCommand ( ) )
74
+ provider . Retrying += ( s , e ) =>
76
75
{
76
+ currentRetries = e . RetryCount ;
77
77
// Try to create database just after first faliure.
78
78
if ( createDBTask == null || createDBTask . Status == TaskStatus . Faulted )
79
79
{
80
+ Console . WriteLine ( $ "createDBTask.Status:{ createDBTask ? . Status } ") ;
80
81
cmd . CommandText = $ "IF (NOT EXISTS(SELECT 1 FROM sys.databases WHERE name = '{ database } ')) CREATE DATABASE [{ database } ];";
81
82
createDBTask = cmd . ExecuteNonQueryAsync ( ) ;
82
83
}
83
- }
84
- } ;
84
+ } ;
85
85
86
- using ( var cnn2 = new SqlConnection ( builder . ConnectionString ) )
86
+ using ( var cnn2 = new SqlConnection ( builder . ConnectionString ) )
87
+ {
88
+ cnn2 . RetryLogicProvider = provider ;
89
+ cnn2 . Open ( ) ;
90
+ }
91
+ }
92
+ finally
87
93
{
88
- cnn2 . RetryLogicProvider = provider ;
89
- cnn2 . Open ( ) ;
94
+ createDBTask ? . Wait ( ) ;
95
+ DataTestUtility . DropDatabase ( cnn1 , database ) ;
90
96
}
91
97
}
92
- finally
93
- {
94
- createDBTask ? . Wait ( ) ;
95
- DataTestUtility . DropDatabase ( cnn1 , database ) ;
96
- }
97
98
}
98
99
Assert . True ( currentRetries > 0 ) ;
99
100
}
0 commit comments