2009-07-07 12 views
0

私はvb.netアプリ以上のことをasp.netでアプリケーションを書くとき、私はいつもサーバーへの接続を開いて、データを取得し、接続をすばやく閉じるルールに従ってきましたできるだけ。これはベストプラクティスのようです。sql接続、できるだけ早く閉じる - vb.netアプリケーションの場合はtrue?またはちょうどasp.net

これをクライアント/サーバーvb.netアプリケーションで行うことも同様に重要ですか?たとえば、データグリッドやデータ形式の複数のフォームがある場合は、通常、各フォームの開始時に接続を開きますが、ユーザーがフォームから退いたときに閉じます。または、接続のグローバル変数を定義し、アプリケーションの全ライフタイムを開いたままにしておけばよいでしょうか?

個人的に私は各フォームとの接続を開いたり閉じたりする傾向がありますが、他の人々が典型的なデスクトップC/

+0

あなたのASP.NETアプリケーションはVB.NETで書かれていますか? –

+0

これはhttp://stackoverflow.com/questions/342946/managing-database-connectivity-with-ado-netと他の多くの複製のようです。 –

+0

はい、私はasp.netのVB風味を使用します、なぜですか? –

答えて

2

必要なときにのみ使用してください。あなたがそれを必要としないですぐにそれを使用するならば、物事を忘れさせないでください。あなたの変数を宣言してすぐに使用するのと同じ原則です。例えば、宣言のトップリストを膨大なものにして後で使用するのではなく、混乱させて不必要なものを使用しないでください。

また、SQL接続を使用しているときにいつでもusingステートメントパターンを使用すると、閉じられます。これは散在している可能性があり、それを閉じることを忘れる可能性があります。負荷に応じて、接続が縛られ、接続が拒否される可能性があります。私はあなたがすでにこれをやっていないと言っているわけではないが、ちょうどその場合に。ほとんどのMSDNの例では、IDisposableを実装するクラスの使用パターンを示します。

詳細はhereです。 SqlConnection exampleは同じことを示しています。 usingステートメントには、try/finallyブロックのように動作するという利点があります。

1

あなたが書いているアプリケーションにかかわらず、リソースをできるだけ短時間利用することが常にベストです。これにより、そのリソースの競争の可能性が減ります。

0

.NET(asp.net、サービス、WPF、コンソールアプリケーション、Windowsフォーム、またはdllのライブラリのみ)で書いているアプリケーションの種類は問わず、すべて同じクラスを使用します集合的にADO.NETとして知られているアクセスデータベースである。また、できるだけ早く接続を開いて終了して廃棄することをお勧めします。

0

データアクセスをtryブロックにラップすることを忘れないでください。finallyステートメントは接続を終了します。

これにより、問題が発生しても接続が閉じられます。

関連する問題