请找到以下代码。我没有在这个应用程序中使用任何非托管代码。它是一个小型 Windows 服务,应该连续读取 SerialPort 并将其保存在数据库中。但是内存不断呈指数增长,应用程序在几天后崩溃。请帮我解决这个问题。当我在没有串行端口的情况下动态传递警报时,它只消耗了 16Mb(稳定),我可以假设它只是因为 SerialPort 类吗?
private void comport_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
string alarm = _comport.ReadLine().Trim();
//process the alarm
}
catch (Exception ex)
{
UtilsLog.WriteToLogFile("comport_DataReceived " + ex.Message);
Console.WriteLine("comport_DataReceived " + ex.Message);
}
finally
{
GC.Collect();
GC.WaitForPendingFinalizers();
}
}