ASP.NET を使用して Web アプリを作成しています。Singleton パターンを使用する「Sistema」というクラスがあります。
Sistema のインスタンスが作成されると、データベース接続が開かれ、後で使用できるようにいくつかの静的情報を複数の ArrayList にロードするプロセスが実行されます。
private ArrayList list1;
private ArrayList list2;
private static Sistema instance;
private Sistema()
{
OpenDataBase();
list1 = LoadStaticInformationFromDataBase();
list2 = LoadOtherStaticInformationFromDataBase();
}
public static Sistema GetInstance()
{
if (instance == null)
{
instance = new Sistema();
}
return instance;
}
1 日を通して、新しいオブジェクトが各 ArrayList に追加されます。ここ数日の間に、これらの ArrayList の 1 つが突然 null になり、その結果、サイト全体が機能しなくなることが発生しました。
これが null になる理由を特定できませんでした。
ArrayList が最大量に達している可能性はありますか? たとえば、現在、150.000 を超えるオブジェクトが含まれています。
Global.asax ファイル内の Application_Error メソッドに、すべてのエラーをログとして txt ファイルに保存するコードを追加しました。ただし、その時点でエラーはありません。
なぜこれが起こっているのかについての提案はありますか?