5

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 フォーム環境でもうまく機能する必要があります (現在のコンテキストでは、接続をセッションに保存せず、クラスの静的メソッドで取得する必要はありません)。

4

1 に答える 1