24/7 Приложения Dot NET Applicaiton Открыть закрыть соединение - PullRequest
1 голос
/ 19 января 2020

Я работаю над приложением, которое будет работать 24 / 7. жизненный цикл приложения очень прост. когда придет новый запрос, просто обновите запись в базе данных. aplicaiton обновить запись на разных серверах и в разных базах данных. миллионы запросов обрабатываются приложением в течение часа для каждого запроса, который он открывает и закрывает, как показано ниже.

internal int ExecuteNonQuery(string Query)
    {
        using (SqlConnection SqlConn = new SqlConnection(this.ConnectionString))
        {
            using (SqlCommand sqlComm = new SqlCommand(Query, SqlConn))
            {
                SqlConn.Open();
                sqlComm.CommandTimeout = 60;
                sqlComm.ExecuteNonQuery();
                return 0;
            }
        }
    }

Я хочу оптимизировать свой код. Не хочу, чтобы каждый раз, когда приходит запрос, он создает новый соединение для этого у меня есть механизм чтения соединения пула в ado. net. помните, что у меня другое sql соединение ( максимум 10 ). Могу ли я использовать пул соединений? или я могу создать свой собственный лог c, чтобы создать sqlconection для каждого соединения и открывать их на весь день. также мое приложение часто генерирует исключение дрожания рук.

1 Ответ

0 голосов
/ 19 января 2020

Существует множество способов включить пул соединений, как описано здесь

Если вы используете Ms SQl с OleDb Например, в драйвере у вас есть пул соединений из коробки.

В зависимости от вашей ситуации, вы можете изменить максимальное количество соединений в вашем пуле. Чтобы установить sh номер этого, проверьте ответ здесь: Должен ли я установить максимальный размер пула в строке подключения к базе данных? Что произойдет, если я этого не сделаю?

Важно сказать, что соединения не разрушаются, они просто возвращаются в пул. Это делает его очень эффективным, и это рекомендуемый способ go.

OleDb

. NET Framework Data Provider для OLE DB автоматически создает пулы соединения, использующие пул сеансов OLE DB. Аргументы строки подключения могут использоваться для включения или отключения служб OLE DB, включая пул.

ODB C

Пул соединений для. NET Framework Data Provider для ODB C управляется ODB C Driver Manager, который используется для соединения и не подвержен влиянию. NET Framework Data Provider для ODB C.

OracleClient . NET Framework Data Provider для Oracle предоставляет пул соединений автоматически для вашего клиентского приложения ADO. NET. Вы также можете предоставить несколько модификаторов строки соединения для управления поведением пула соединений (см. «Управление пулами соединений с помощью ключевых слов строки соединения» далее в этой статье c).

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