Объявление соединения с БД в статическом void - сохранится ли пул соединений? - PullRequest
1 голос
/ 13 июля 2010

У меня есть многопоточный сервер, который использует один MSSQL, к которому каждый клиент должен иметь доступ. Я хотел использовать пул соединений, и я использую это:

public static void DBconn()
        {
                SqlConnection pripojeni = new SqlConnection();
                pripojeni.ConnectionString = "Data Source=localhost\\SQLEXPRESS;Initial Catalog=XYZ;Trusted_Connection=True;Min Pool Size=20";

        }

Сохранится ли объект в памяти (не сам объект, а не открытые соединения), если в строках соединения указано "минимальный пул"? Или он пропадет после завершения этого метода? Спасибо

Ответы [ 2 ]

6 голосов
/ 13 июля 2010

Вы должны использовать новый SqlConnection объект для каждого соединения, а не создавать его в статическом конструкторе.Пул соединений работает, когда каждое создаваемое вами соединение использует одну и ту же строку соединения (вы должны сохранить ее в файле конфигурации, таком как web.config или app.config).

Просто каждый раз создавайте и открывайте объект SqlConnection,не забудьте закрыть / утилизировать его в конце, и пул соединений обеспечит повторное использование существующих открытых соединений.

Надеюсь, это поможет!

0 голосов
/ 13 июля 2010

Поскольку вы недавно объявили объект SqlConnection в этом методе, он исчезнет после завершения метода.

попробуйте это для продолжения соединения:

public static class PerstistendDB
    {
        // Readonly so it can't be destroyed!
        public static readonly System.Data.SqlClient.SqlConnection pripojeni = new System.Data.SqlClient.SqlConnection(
            "Data Source=localhost\\SQLEXPRESS;Initial Catalog=XYZ;Trusted_Connection=True;Min Pool Size=20");
    }

Примечание: я согласен с Киреном, если вы продолжаете открывать соединение, вы будете забивать базу данных, (почти всегда) гораздо лучше открывать и закрывать каждый раз.

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