接続プール
本製品 は標準ADO.NETコネクションプーリングを実装しています 。プーリングの有効化にはUseConnectionPooling を設定します。次のセクションでは、それらの設定および使用方法について説明します。
プールされた接続の操作
プールされていない接続との通信と同じように、標準ADO.NET オブジェクトを使って接続を開いたり、閉じたりすることができます。この場合、取得されたExchange Connection オブジェクトは、コネクションプールにより所有される物理的接続のハンドルです。接続が閉じられると、接続が廃棄されずにハンドルがプールに戻され、次の接続リクエストに使われます。
プールに戻されるには、明示的に接続を閉じなければなりません。
コネクションプールの設定
UseConnectionPooling に加え、次の接続プロパティを設定し、コネクションプールをコントロールします。
- PoolMaxSize:同時に開ける接続の最大数を定義します。
- PoolIdleTimeout:どのくらいの時間接続プールで接続がアイドル状態を維持できるかを設定します。この制限を超えた場合、接続はプールから削除されます。
- PoolWaitTime:どのくらいの時間新しい接続リクエストが、接続が有効になるまで待機すべきかの制限を設定します。この制限を超えた場合、リクエストはエラーを返します。デフォルトで接続リクエストは接続が有効になるまで無制限で待ち続けます。
ExchangeConnection でのコネクションプーリング
接続をプールするためのデフォルトのメソッドを使用するには、UseConnectionPooling を使用してExchangeConnection をインスタンス化します。
C#
using (ExchangeConnection connection = new ExchangeConnection("UseConnectionPooling=true;User='[email protected]';Password='myPassword';Server='https://outlook.office365.com/EWS/Exchange.asmx';Platform='Exchange_Online';Schema='EWS';")) {connection.Open();}
VB.NET
Using (ExchangeConnection connection = new ExchangeConnection("UseConnectionPooling=true;User='[email protected]';Password='myPassword';Server='https://outlook.office365.com/EWS/Exchange.asmx';Platform='Exchange_Online';Schema='EWS';"))
connection.Open()
End Using
コネクションプールを閉じる
アクティブ処理が終了するとコネクションプールは閉じられます。