私はいくつかの静的ユーティリティ クラスを持つ ac# dll を持っています。それらはすべてデータベースにアクセスする必要があり、現時点では各クラスに独自の接続があります。これは面倒になりつつあり、接続の単一の「プロバイダー」が必要なため、クラスは ConnProvider.Query(...) のようなことを行うことができます。ここで、ConnProvider はすべてのユーティリティ クラスからアクセス可能な静的クラスです。ConnProvider は何らかの接続プールを管理する必要があると思いますが、これがこれを実装する正しい方法であるかどうか、またそうであれば内部がどのように見えるかは完全にはわかりません。私はここで正しい軌道に乗っていますか?これは Web ベースではなく、スレッド セーフは必須ではありません (ただし、将来的には便利です)。また、この dll を使用するアプリ/マシンはほんの一握りです。
4 に答える
2
独自の接続プールを作成するべきではありません。フレームワークのもので十分です。
作成する接続プロバイダー ユーティリティは、実際には、取得した構成情報を使用して接続を作成するだけである必要があります。基本的に、クエリ文字列をカプセル化するだけです。
クエリを実行するたびに、プロバイダーを呼び出して接続を作成し、作業を行い、接続を閉じます。フレームワークに物理接続のプールを処理させます。
于 2009-04-21T15:31:08.630 に答える
0
あなたの状況で、すべてのヘルパー クラスを接続を持つ ConnectionBase からサブクラス化することは可能ですか?
于 2009-04-21T15:30:41.080 に答える
0
「ConnProvider」にクエリごとに新しい接続を作成させ、ADO.NET と RDBMS に接続プールを管理させます。それらは、お客様に代わってそうするように既に設定され、最適化されています。
于 2009-04-21T15:30:47.350 に答える
0
接続プールを自分で処理しようとしないでください。.NET は、これまで以上に確実に優れています。これを、接続用のある種のシングルトン パターン db クラスとして解決できます。
于 2009-04-21T15:31:53.073 に答える