asp.netでデータベースへの接続を管理する最良の方法は何ですか。
私のアプリケーションは、N 層アーキテクチャを使用して構築されています。DAL は、次のようなメソッドを持つ静的クラスで構成されています。
Public Shared Sub Delete( _
ByVal connection As MyConnectionClass, _
ByVal contact_id As Integer, _
ByVal contact_timestamp As Date _
)
With connection.ProcParams
.Add(New StoredProcParam("p_contact_id", contact_id, OracleDbType.Int32))
.Add(New StoredProcParam("p_contact_timestamp", contact_timestamp, OracleDbType.Date))
End With
connection.Execute("PKG_DATA_ACCESS.DeleteContact")
End Sub
ここで注意すべき点は、接続を BLL から DAL に渡すことです。
以下は私が検討したポイントですが、どれも私には良くないように思われるので、アドバイスを求めています。
MasterPage で接続を作成し、それをオブジェクトに格納してから、作成時にビジネス オブジェクトに渡す必要があります (回避しようとしています)。
静的クラスを使用して接続を作成し、ビジネス オブジェクトのコンストラクターから CreateConnection のようなメソッドを呼び出す必要があります (何かしたいのですが、オブジェクトごとに接続したくありません。オブジェクトのすべてのインスタンスで共有されますが、asp.net はマルチスレッドであるため、静的クラスは接続を保存する意味がありません)
理想的には、このソリューションは Windows フォーム環境でもうまく機能する必要があります (現在のコンテキストでは、接続をセッションに保存せず、クラスの静的メソッドで取得する必要はありません)。