pool de conexões .net

Eu não entendo qual é a diferença de syntax entre conexão regular e pool de conexão.

Quando estou usando a chave de using , como:

 using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); command.ExecuteNonQuery(); } 

Esta é a maneira de executar um pool de conexão?

Você pode ler sobre o pool de conexões aqui .

Basicamente, desde que a cadeia de conexão seja a mesma (incluindo maiúsculas e minúsculas), as conexões serão obtidas do mesmo conjunto de conexões.

Você não controla o conjunto de conexões com conexões, mas com a cadeia de conexão. A maioria dos provedores ADO usa pool por padrão.

A instrução using é usada para chamar o método Dispose do object (nesse caso, a class de conexão). Ao fazer isso, a conexão é retornada ao pool ou desconectada, dependendo da configuração da cadeia de conexão.

Você também deve estar ciente de que as conexões não serão retornadas ao pool diretamente se as transactions distribuídas estiverem sendo usadas ( TransactionScope no .Net 4). As conexões são retornadas quando a transação foi concluída / revertida.

Se você não estiver usando using , certifique-se de chamar Connection.Close() assim que possível. Especialmente se sua aplicação estiver sob alguma forma de carga.

O gerenciamento do conjunto de conexões é abstraído de você usando o SqlConnection, como no exemplo acima. Por padrão, no ADO.NET, o pool de conexão é ativado e você pode controlar ainda mais, como desativá-lo ou controlar o tamanho do pool na string de conexão, por exemplo,

Desligar

 Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Pooling=false; 

ou controlando min e max

 Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Min Pool Size=5; Max Pool Size=20; 

Mais detalhes explicação e maneira de verificar o pool http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx

até onde sei,

O pool de conexões é gerenciado pelo cliente ado.net, já que fazer conexões com o db é uma operação dispendiosa. ado.net faz pool de conexões e sempre que você precisar de uma conexão ela tenta dar a partir do pool. mesmo se você disser ao código do cliente para fechar a conexão, ado.net mantenha essa conexão para uso posterior. você não gerencia o pooling

pool de conexão é contada no arquivo web.config do aplicativo. Quando você usa instruções, você diz que o object deve ser descartado.

O padrão de conexão SQL é o conjunto de conexões. (Tamanho máximo da piscina = 100)

Você pode configurar seu pool de conexão a partir da string de conexão.

Você pode encontrar mais informações sobre a string de conexão aqui .

Pool de conexão significa que uma vez que o object de conexão é aberto, em seguida, em vez de ir e recriar a conexão novamente e novamente, o Ado.Net armazena ou armazena em cache o object de conexão no Pooler. Mais tarde, se alguém abrir a conexão, ela não seguirá a série de etapas que já executou. Agora, simplesmente, a conexão do pool de conexão já foi armazenada em cache.

Uma vez que terminamos as operações no database, precisamos fechar a conexão, então essa conexão será retornada ao pool e estará pronta para ser reutilizada na próxima chamada Open.

Leia mais com o melhor exemplo de pooling de conexões: – http://www.gurujipoint.com/2017/07/what-is-connection-pooling-in-aspnet.html