これはおそらくばかげた質問です。ポストバック後にオフになるイベントハンドラーが20個あるとします。イベントが開始する直前にデータベースへの接続を開き、イベントが終了した直後にデータベースを閉じたいと思います。オープンステートメントとクローズステートメントをWebフォームのどこに配置しますか?
2 に答える
2
Page_Load
イベントは、ページのライフサイクルのイベントの後に発生します。そこで、そこで開いて、で閉じることができますPage_PreRender
。
しかし実際には、接続を開かないようにすることをお勧めします。開いている接続は再利用できません。したがって、使用した場所では常にできるだけ早く接続を閉じる必要があります。最も良いのは、を使用することusing-statement
です。
于 2012-09-25T21:57:28.790 に答える
1
ASP.NETページのライフサイクルを理解する必要があります
ポストバックイベントはLoad
とLoacComplete
ページのイベントの間に発生するため、接続が開かれていることを保証する場合は、 (または前の)イベントで開き、イベント(またはそれ以降)Load
で閉じることができます。LoadComplete
ただし、エラーが発生した場合、おそらくLoadComplete
イベントは呼び出されません。
using
ステートメントを使用してデータベース接続を操作することをお勧めします。
using(var cn = new SqlConnection(".."))
{
cn.open();
// here your database code
}
クイックビューとして:
于 2012-09-25T21:56:43.067 に答える