前提
VB.net/asp.netで構成されたWebアプリケーションの保守をやっています。
BtoB、BtoBtoC向けのシステムで、検索などを備えた会員システムと会員を管理する事業主用システムが主に存在しています。
上記システムでは全てのページにおいて、各ページクラス直下にSqlConnection変数を宣言しており、そのSqlConnectionに対してPage_Init内でOpenして、Page_PreRender内でDisposeしています。
また共通処理などの関数は、そのOpenされたSqlConnection型の変数を引数としてわたしており、使いまわしている状態です。
質問内容
・このような構成は一般的なものなのか。(一般的でなければ、どのような形が一般的か
・SQL実行毎にSqlConnectionをOpen、Closeする場合とパフォーマンス的な違いがあるか
といったことをご教授いただければと思います。
どうぞよろしくお願いいたします。
該当のソースコード
VB.net
Public Class sample_aspx Inherits Page Dim con As SqlConnection Dim cmd As SqlCommand Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) con = ConnectionStringのセット con.Open() End Sub Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) con.Close() con.Dispose() cmd = Nothing End Sub End Class
補足情報(FW/ツールのバージョンなど)
.NET Framework 4.8
サーバー情報
AWS EC2
アプリケーション用サーバー:Windows Server 2019 Datacenter/c5.9xlarge
DB用サーバー:Windows Server 2019 Datacenter/c5.9xlarge
Microsoft SQL Server 2017
0 コメント