3レイヤーのASP.Netアプリケーション(プレゼンテーションレイヤー、ビジネスレイヤー、データアクセスレイヤー)を作成する場合、Connectionオブジェクトを作成する最適な場所はどこですか?ASP.Netのデータアクセスレイヤー:どこで接続を作成しますか?
これまで私のプレゼンテーションレイヤーでヘルパークラスを使用して、各ページのweb.configのConnectionStringからIDbCommandを作成し、それをDALクラス/メソッドに渡しました。
明らかに、データアクセスの一部であるため、この部分をDALに含めるべきではないと確信しています。 DALは別にコンパイルされたプロジェクトに入っているので、web.configにアクセスできず、接続文字列にアクセスできません(右?)。
ここでベストプラクティスは何ですか?
+1私はそれをより良く言ったことはありませんでした。 –
とにかくひどく設計されているアプリケーション構造の詳細には行きたくありません。私の主な質問は:私はDALからConnectionStringにアクセスする必要がありますか? DALを使用するウェブサイトへの依存を作成しないのですか? – magnattic
@atticae:あまりにも多くの詳細がなければ、はいといいえ。設定ファイルの形式での依存関係は、単に「このライブラリを使用するには、これらの設定オプションを設定する必要があります。これは、複数の環境やアプリケーションコンテキストで使用できるライブラリにとっては非常に標準的であり、期待されています。 DALはおそらくハードコードされたデフォルト値を持つことができ、設定値がない場合に使用されます。しかし、インフラ/環境の依存関係を扱うライブラリが、それらの依存関係に関して構成されることを期待するのは無理ではありません。 – David