投稿によって提供されたデータを取得してデータベース テーブルに記録する、比較的単純な Web サービスを開発しているときに、次のエラーが発生します。
キャッチされた例外: リモート サーバーがエラーを返しました: (500) 内部サーバー Er または。スタック トレース: System.Net.HttpWebRequest.GetResponse() で
一部のサーバーではありますが、他のサーバーではありません。これを実現しているのは物理マシンで、他は仮想マシンであり、明らかに物理サーバーの方がはるかに強力です。
私たちが知る限り、問題は、各クエリの後で DB 接続がプールに解放されていないことです。以下の使用パターンを使用しています。
using (VoteDaoDataContext dao = new VoteDaoDataContext())
{
dao.insert_response_and_update_count(answerVal, swid, agent, geo, DateTime.Now, ip);
dao.SubmitChanges();
msg += "Thank you for your vote.";
dao.Dispose();
}
メソッドの終了時に接続が確実に解放されるように dao.Dispose() 呼び出しを追加しましたが、必要かどうかはわかりません。
このパターンを正しく使用していますか? 接続がプールに正しく返されるようにするために他に何かする必要がありますか?
ありがとう!