1

postgressqlデータベースからDataSetを返すメソッドがあります。

    ds = stats.loadStats();

たとえば、DataSetを3分に1回ランダムに更新する必要があります。

                Random r = new Random();
                var rendom_number = r.Next(0, 179);//3 minutes = 3*60 = 180 sec.
                if (rendom_number == 1)
                {
                   //reload Dataset here
                }

イベントがトリガーされたら-過負荷、メモリリーク、またはその他の問題を引き起こすことなく、古いデータセットを破棄して新しいデータセットで更新する必要があります。C#でどのようにそれを行いますか?

私が知っている方法は3つありますが、どれが最適ですか?

  1. 方法

            ds.Clear(); //disposing of old DataSet
            ds = stats.loadStats(); //loading new
    
  2. 方法

            ds.Dispose(); //disposing of old DataSet
            ds = stats.loadStats(); //loading new
    
  3. 方法

            ds = null; //disposing of old DataSet
            ds = stats.loadStats(); //loading new
    
  4. あなたの方法は何ですか?(または最良のオプション)

4

1 に答える 1

0

あなたに必要なのは

//ds.Clear(); 
//ds = null; 
ds.Dispose();  // not really needed but out of general principle
ds = stats.loadStats();  // gets a new instance

残りはガベージコレクターにお任せください。

于 2012-04-18T16:16:57.343 に答える