0

请找到以下代码。我没有在这个应用程序中使用任何非托管代码。它是一个小型 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();
        }
    }
4

0 回答 0