При попытке отладить проблему с проектом ASP.NET коллега заметил, что метод создает экземпляр статического SqlConnection.
Если несколько потоков одновременно используют один и тот же SqlConnection, может ли SqlCommand одного потока случайно получить набор результатов из SqlCommand другого потока?
Например, рассмотрим два одновременных запроса к одной и той же странице ASP.NET:
Запрос 1:
Dim Shared DbConnection As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("DbConnectionString"))
Dim Query As SqlCommand = New SqlCommand("EXEC up_ShowReportInMenu 'abc',...", DbConnection)
...
Dim Reader As SqlDataReader = Query.ExecuteReader
Запрос 2:
Dim Shared DbConnection As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("DbConnectionString"))
Dim Query As SqlCommand = New SqlCommand("EXEC up_ShowReportInMenu 'def',...", DbConnection)
...
Dim Reader As SqlDataReader = Query.ExecuteReader
Возможно ли, что Читатель в Запросе 2 мог случайно получить доступ к набору результатов из запроса, выполненного SqlCommand в Запросе 1?
P.S. Не волнуйтесь, мы изменим это, чтобы больше не быть статичными. Просто интересно, могло ли это вызвать те проблемы, которые у нас были.