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
{
}
}
}
}