Zwalnianie pamieci

0

Witam serdecznie.
Napisalem usluge, ktora caly czas chodzi w tle, kopiuje logi i wybiera okreslone linijki z logow, pozniej linijki te odpowiednio przetwarza. Problem jest taki ze gdy dziala to jako usluga pamiec caly czas niepokojaco rosnie w czasie. Gdy dziala to jako batch odpalany z task schedulera jest ok. Poniewaz na moim komputerze usluga dziala dobrze a na produkcyjnym nie a jedyna roznica jest ze na moim komputerze nie ma innej uslugi, ktora by blokowala pliki logow. Podejrzenie padlo na ponizsza funkcje,Tzn na moim komputerze ponizsza funkcja nigdy nie wskakuje do obslugi wyjatku....
Jak poprawnie obsluzyc tu ten wyjatek z uwzglednieniem zwalniania pamieci ?
A moze ktos ma jakies inne uwagi, bylbym wdzieczny.

pozdrawiam
Miki

    public static void move_logs(IniFile iniO)
  {
      string sPathSMTPLog = iniO.IniReadValue("CONFIGURATION", "PATH_SMTPLOGS").ToString();
      string[] fileEntries = Directory.GetFiles(sPathSMTPLog);
      foreach (string fileName in fileEntries)
      {   
        if (fileName.Substring(fileName.Length - 3, 3).ToUpper() == "LOG")
          {
              try
              {
                  FileInfo f_copy = new FileInfo(fileName);
                  f_copy.CopyTo(iniO.IniReadValue("CONFIGURATION", "PATH_TEMP").ToString() +           fileName.Substring(fileName.LastIndexOf("\\"), fileName.Length - fileName.LastIndexOf("\\")));
                  FileInfo f_deltry = new FileInfo(fileName);
                  f_deltry.Delete();
              }
              catch
              {
              }
          }
      }
  }
0

w uproszczeniu .net pozera tyle ramu ile jest, dopiero jak sie konczy dopala GC (garbage collector)

wiec mozesz wymusic uruchominie GC po wykonaniu swoich operacji
konkretnie odpal: GC.Collect();

i po co
FileInfo f_deltry = new FileInfo(fileName);
f_deltry.Delete();
f_deltry to to samo co f_copy, a metoda copyTo zwraca FileInfo nowego pliku

0

Dzieki ze poswieciles chwilke na przeczytanie i odpisanie :)
Niech moc bedzie z Toba.
Rady jak najbardziej cenne :)
Pozdrawiam serdecznie
Miki

1 użytkowników online, w tym zalogowanych: 0, gości: 1