同じデータベースを使用する Web メソッドが約 5 つある ASP.NET Web サービス (C# 4.0) でデータベース接続を開いて再利用するためのベスト プラクティスは何ですか? 理想的には、MS Access と SQL サーバーの答えは同じです。
グローバルプライベート変数:
a. 利点: データベース プロバイダーを変更した場合の保守が容易
b. 短所: 'using' 句を使用できず、接続が長時間開いたままになる可能性があります。接続が開いたままになる時間はおよそどれくらいですか?
db 接続をメソッド パラメータとして渡します。
a. 利点: 'using' 句を使用する必要がない場合は、接続を閉じることができます
b. 短所:どこでもparamを維持して渡すのが面倒
いずれかのメソッドで必要に応じて、必要に応じて using 句を使用して接続を開いたり閉じたりします。
a. 質問: 同じ接続を複数回開く必要があるため、これが最も遅いですか? または、舞台裏の接続プールのために、これは遅くありませんか? したがって、これはおそらくベスト プラクティスでしょうか?
b. 質問: 接続プーリングは SQL サーバーにのみ関連するので、MS Access では機能しませんか?
最初は、グローバル プライベート変数 (OleDbConnection) を使用することを考えていました。これは、メイン データベースへの接続を Web メソッドとサポート メソッドでかなり使用しており、近い将来に MS Access から SQL サーバーに移行するためです。簡単に変更できます。
しかし、 ASP.NET と Web サービスを使用する場合に SQL 接続を最も効率的に取得するなどの記事を読んだ後、
「using」句を使用して、どこでもオンデマンドで新しい接続を作成でき、パフォーマンスに影響を与えないように思えますか?