SqlConnectionStringBuilder.PoolBlockingPeriod Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The blocking period behavior for a connection pool.
public:
property Microsoft::Data::SqlClient::PoolBlockingPeriod PoolBlockingPeriod { Microsoft::Data::SqlClient::PoolBlockingPeriod get(); void set(Microsoft::Data::SqlClient::PoolBlockingPeriod value); };
public Microsoft.Data.SqlClient.PoolBlockingPeriod PoolBlockingPeriod { get; set; }
member this.PoolBlockingPeriod : Microsoft.Data.SqlClient.PoolBlockingPeriod with get, set
Public Property PoolBlockingPeriod As PoolBlockingPeriod
Property Value
The available blocking period settings.
Remarks
This property corresponds to the "Pool Blocking Period" key within the connection string.
When connection pooling is enabled and a timeout error or other login error occurs, an exception will be thrown and subsequent connection attempts will fail for the next five seconds, the "blocking period". If the application attempts to connect within the blocking period, the first exception will be thrown again. Subsequent failures after a blocking period ends will result in a new blocking period that is twice as long as the previous blocking period, up to a maximum of one minute.
Attempting to connect to Azure SQL databases can fail with transient errors which are typically recovered within a few seconds. However, with the connection pool blocking period behavior, you may not be able to reach your database for extensive periods even though the database is available. This is especially problematic for apps that need to render fast. The PoolBlockingPeriod enables you to select the blocking period best suited for your app. See the PoolBlockingPeriod enumeration for available settings.