2011-10-19 3 views
1

私はMVC3 + Entity Framework 4.1アプリケーションを持っています。現在、いくつかの接続がEntity Framework 4.1を使用しているasp.net MVC3アプリケーションによって開かれています

エンティティのコンテキストを破棄して適切にすべての接続を閉じたかどうかを知りたいと思います。また、どのように多くの接続が現在開いているかを見ることができる方法があります。私はすべての私の開いている接続を適切に閉じているわけではないと思います。

それとも私のWebアプリを通じて、私は通常、手動でオープン/クローズの物理的なデータベース接続をしませんADO.NETで適切かどうか

答えて

4

すべての私のDB接続を閉じていますかどうかを確認するために他の方法があります。フレームワークによって処理される接続プールがあります。したがって、new SqlConnectionを実行すると、データベースへの新しい物理接続が開かれません。単にプールから1つを作成するだけです。 connection.Closeに接続しても接続を終了しない場合は、接続プールに戻して再利用できるようにするだけです。

だから、何のために重要なのは、あなたのコードはできるだけ短時間の接続を保持し、可能な限り速いプールに戻すことを確認することです。接続プーリングの詳細については、following articleを参照してください。

+0

okie:次に、私は現在dataContextを破棄していることを確認する方法。実際に私は私のアプリケーションのために知っているiamの依存関係解決のためにninjectを使用して、私はninejctは私のdbContextを処分していないと思う。この質問を見てください:http://stackoverflow.com/questions/7824465/how-to-dispose-dbcontextor-object-in-asp-net-mvc3-app-when-ninject-is-used-as –

+0

この回答は、 「接続処理に関するベストプラクティスは何ですか?」ではなく、ここで質問された質問はありません。 場合によっては、適切に廃棄している間でも、使用中の接続数を確認したい場合があります –

関連する問題