我有一个Windows服务来从远程数据库获取数据以更新本地。对于每个get操作,我正在编写一个包含信息(错误,成功)的日志文件以供审阅。
然而,数据是如此巨大,有时,服务正在使用服务器上的RAM并因此崩溃:(。我知道有内存泄漏,我无法发现它。但是,在我的初步分析中我我发现内存泄漏可能与我写日志的方式有关。以下是对我正在做的事情的简短解释。
我有一个Utility“STATIC”类,其中包含一个将条目写入日志的方法。
private static readonly object syncObj = new object(); //Class scope property
private static void Log()
{
lock (syncObj)
{
using (var sw = new StreamWriter("c:/test.txt", true))
{
sw.WriteLine("message");
}
}
}
此方法被称为记录文件条目的次数。我无法理解内存泄漏的位置以及如何填补泄漏。
真正感谢任何帮助。