2012-04-18 17 views
1

postgressqlデータベースからDataSetを返すメソッドがあります。古いデータセットを破棄し、C#で新しいエントリを補充する

ds = stats.loadStats(); 

データセットをランダムに、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. あなたの方法は何ですか? (または最良の選択肢)

+1

非常に包括的な見直しである[(質問と回答)] [1]の可能な選択肢の: [1]:http://stackoverflow.com/questions/913228/should-i-dispose -dataset-and-datatable – Ulises

+0

リンクありがとうございます! – Alex

答えて

0

必要なのは

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

では、ガベージコレクタに残りを残します。ここで

関連する問題