私の C# コードはSqlConnection
、SQL Azure への接続に使用します。時々私は次のことに直面します:
System.InvalidOperationException
Timeout expired. The timeout period elapsed prior to obtaining a connection
from the pool. This may have occurred because all pooled connections were
in use and max pool size was reached.
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(
DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(
DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
// my code calling SqlConnection.Open()
この例外に直面している理由を見つけたいと思います。接続プールを使い果たしたために例外が発生した可能性がありますが、完全にはわかりません。確信がある場合は、どうやってそこにたどり着いたのか知りたいです。
コードで最大プール サイズと現在のプール使用率 (使用済みおよび未使用の接続数) を取得することはできますか?