Как закрыть соединение, созданное с помощью WebMatrix.Data.Database.Open? - PullRequest
1 голос
/ 12 сентября 2011

Я использую класс Database из webmatrix в службе Windows.(И отладка в winform вызывает ту же ошибку)

Я получаю ошибку (после некоторого запуска):

Истекло время ожидания.Время ожидания истекло до получения соединения из пула.Это могло произойти из-за того, что все пулы соединений использовались и был достигнут максимальный размер пула.

Это необходимо решить с помощью операторов, чтобы убедиться, что все соединения закрыты.( как описано в этом хорошем ответе ) Но я недавно начал использовать также класс базы данных WebMatrix, и он, похоже, не закрывает соединения, которые я открываю с ним.

Вопрос: Как закрыть соединения, созданные с помощью класса Database из WebMatrix?

Используя этот код:

Public Shared Function GetProperty(pid As Integer, propertyName As String) As String
    Dim db = Database.Open("SSEConnectionString")
    Dim item = db.QuerySingle("select PropertyValue from eConfiguration where PID=@0 and PropertyName=@1", pid, propertyName)
    Dim retVal = item.PropertyValue
    db.Connection.Close()
    db.Close()
    Return retVal
End Function

Каждый раз, когда я запускаю этот код, я получаю новую запись в моем sys.sysprocesses таблица (и из того, что я выяснил, это означает, что новое соединение создается и поддерживается)

Моя строка подключения выглядит следующим образом:

<add name="SSEConnectionString" connectionString="Data

Источник = 123.45.67.890; Исходный каталог = SSE; Идентификатор пользователя = +++; Пароль = +++; Время ожидания соединения = 5; Имя приложения = SSE_Service "providerName =" System.Data.SqlClient "/>

Есть идеи, что я делаю не так?

Редактировать: Задал второй вопрос относительно таблицы sysprocesses - не уверен, поможет ли это в отладке

Спасибо за любую помощь

Edit2: Arghhhhh .... Я только что нашелчто было причиной ошибки - и это касается только меня.Я забыл закрыть соединение.: - (

Ларси

1 Ответ

0 голосов
/ 06 ноября 2012

Использование:

db.Connection.Close()
db.Close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...