Ошибка строки подключения при нескольких запросах одновременно - PullRequest
0 голосов
/ 03 мая 2020

У меня проблема с моим веб-приложением в ASP. NET.

Моя ошибка:

Соединение не было закрыто. Текущее состояние соединения: открыть

, когда оба клиента отправят запрос в строке подключения.

Это мой код:

Public Sub populateGrid(ByVal sql As String, ByVal grd As GridView)
    Try
        cmd = New SqlCommand(sql)
        da = New SqlDataAdapter(sql, conn)
        conn.Open()
        ds = New DataSet
        da.Fill(ds)
        grd.DataSource = ds
        grd.DataBind()
        conn.Close()
    Catch ex As Exception
        Throw ex
    Finally
        conn.Close()
    End Try
End Sub

Как я могу передать несколько запросов, что мое соединение Строка может обрабатывать?

Пожалуйста, помогите!

Спасибо!

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Вы можете проверить, открыто ли соединение, или нет, прежде чем открывать соединение, как показано ниже.

if(con.State == ConnectionState.Closed)
{
   conn.Open()
)
0 голосов
/ 03 мая 2020

Я нашел решение в этом. Я добавил thead.sleep, если соединение открыто.

Вот код:

Public Sub populateGrid(ByVal sql As String, ByVal grd As GridView)
        Try

            cmd = New SqlCommand(sql)
            da = New SqlDataAdapter(sql, conn)
            If conn.State = ConnectionState.Open Then
                System.Threading.Thread.Sleep(3000)
            End If
            conn.Open()
            ds = New DataSet
            da.Fill(ds)
            grd.DataSource = ds
            grd.DataBind()
            conn.Close()
        Catch ex As Exception
            Throw ex
        Finally
            conn.Close()
        End Try
    End Sub

Я добавил 3 секунды, чтобы можно было продолжить 1-й процесс, а когда он закончится, другой процесс продолжится.

...