私はいくつかの静的ユーティリティクラスを持つc#dllを持っています。彼らはすべてデータベースへのアクセスが必要です。そして、各クラスはそれ自身の接続を持っています。これは面倒なことになってきており、私は接続の単一のプロバイダを望んでいるので、クラスは単にConnProvider.Query(...)のようなことをすることができます。ConnProviderはすべてのユーティリティクラスがアクセスできる静的クラスです。私は、ConnProviderが何らかの接続プールを管理しなければならないと考えていますが、これを実装する正しい方法であるかどうか、もしそうであれば、内部がどのように見えるかは完全にはわかりません。私は正しい道にここにいますか?これはWebベースではなく、スレッドセーフは必須ではありません(しかし、将来的にはうれしいでしょう)。また、このdllを使用するアプリケーション/マシンがほんの一握りで、単純化するのに役立ちます。静的クラス間でデータベース接続を共有するための適切な設計?
答えて
ヘルパクラスをすべて、その中に接続を持つConnectionBaseからサブクラス化することは可能でしょうか?
各ConnProviderに新しい接続を作成し、ADO.NETとRDBMSで接続プーリングを管理させます。彼らはすでにあなたのためにそれを行うように設定され、最適化されています。
独自の接続プールを作成しないでください。フレームワークのものは十分に良いです。
作成した接続プロバイダーユーティリティは、実際に接続している構成情報を使用して接続を作成する必要があります。基本的には、クエリ文字列をカプセル化するだけです。
クエリを実行するたびに、プロバイダに接続して接続を作成し、作業を行い、接続を閉じます。フレームワークが物理接続をプールするようにします。
を明確にするには、組み込みの接続プーリングを使用するために何か特別な処理を行う必要がありますか?または私のconnの文字列が同じである限り自動ですか?問題は、私はいくつかのヘルパー関数を実装するSqlConnection上のラッパーを持っているので、私はこの右を取得する方法がわからない –
それは自動です。ラッパータイプが本当に必要ですか?それはどんな状態を加えますか?そうでない場合、C#3を使用している場合は、それらを拡張メソッドにすることができます。 –
接続プーリングを自分で処理しないでください。 .NETは、あなたが今まで以上に優れていることは確かです。接続のためにある種のシングルトンパターンのdbクラスとしてこれを実行することができます。
- 1. PHP - 静的データベース接続クラスのための良いデザインパターン
- 2. 共有オブジェクト間のデータベース接続
- 3. Node.jsモジュールとデータベース接続のための適切なアーキテクチャ?
- 4. 適切なクラスを設計する
- 5. AspNetCoreで静的クラスを構築/インスタンス化するための適切な方法
- 6. 設定ファイルとデータベース接続文字列を企業間で共有する
- 7. 他のユーザーが投稿を共有できるようにするための最適なデータベース設計
- 8. スパースユーザープロファイル用の適切なデータベース設計
- 9. 静的クラスはAppDomain間で共有されていますか?
- 10. 静的コンテンツを提供するための適切なhttpメソッド
- 11. C#の - 一般的なデータベース接続のためのクラス、コマンド、リーダー
- 12. 異なるラムダ関数間でデータベース接続を共有する方法
- 13. Railsはクラス間のカスタムデータベース接続を共有します - クラス継承なし?
- 14. データベースの設計:接続
- 15. ノードjs。接続を作成するための適切な/ベストプラクティス
- 16. WCFクライアントアプリケーション間で静的なDLLを共有する
- 17. SignalRクラス(ハブ)を使用した静的クラスの共有
- 18. ウェブソケットに再接続するのに適切な時間間隔
- 19. sbtでのテスト実行間で静的なデータを共有
- 20. さまざまなデータベースクエリ間で接続オブジェクトを共有する
- 21. SSIS親と子パッケージ間の共有データベース接続文字列
- 22. 共有データ用のデータベース設計
- 23. Kubernetes/OpenShiftのコンテナ間で持続的なボリュームクレームを共有する
- 24. スレッド間の接続の共有
- 25. 同時にセロリのタスク間でOracleデータベース接続を共有する
- 26. クラス固有の属性を参照する異なるクラス間でメソッドを共有するためのオブジェクト指向設計のベストプラクティス
- 27. Celery worker間の共有XMPP接続
- 28. 非静的メンバーがASP.NET MVCアプリケーションのインスタンス間で共有される静的クラスですか?
- 29. Android静的変数と共有設定
- 30. 静的な型指定のためにCythonでエクステンションタイプを共有する
ええ、良い点。私もそうするだろうと思う。 –