私の .net アプリケーションでは、LINQ-to-SQL を使用してデータベースからデータを取得しました。データの量はまったく大きくありません (10 行のデータ)。しかし、サーバーにまだ予備のメモリがあるにもかかわらず、関数で「system.outofmemoryException」を常にキャッチしました。興味深いことに、ADO 関数を使用して他のページからデータを取得できます。
アプリケーション プールが再起動すると、問題は修正されます。時々、問題が再発します。このシナリオをどのようにデバッグすればよいか手がかりはありますか?
注:すべてのデータコンテキスト接続に「using」ブロックを使用しました。文字通り、すべてのデータコンテキストは使用後に破棄されます。
以下はコードです。簡単です。
using (StoreDataContext db = new StoreDataContext(conn))
{
var list = from category in db.ProductCategories
select category;
ddlCategory.DataSource = list.Distinct().ToList();
ddlCategory.DataTextField = "CategoryName";
ddlCategory.DataValueField = "CategoryName";
ddlCategory.DataBind();
}