线程控制台应用程序在完成后无法退出

时间:2015-05-12 17:07:53

标签: c# multithreading web-services

我编写了一个集成程序,它从ERP中获取数据并通过SOAP API将其发送到另一个程序。

为了确定需要更新或创建哪些数据,我还使用

从SOAP API获取数据并使用该数据构建一些自定义早期绑定实体
records.AsParallel().ForAll(record =>
{
    var acc = new Account(connection, record.name_value_list);
    accountList.Add(acc);
});
Task.WaitAll();

我看到程序在完成后挂起并且我必须手动关闭它时添加了最后一条指令(当我这样做时它仍然落后5-10秒)。

我尝试在我的Main中添加一个额外的等待条件作为最后一个操作,但它没有帮助。

我调试了应用程序,在Thread面板中我看到了:

Thread panel in VS

如何设法优雅地退出我的应用程序?

1 个答案:

答案 0 :(得分:0)

我发现了问题:我是通过C ++ DLL Api从ERP中检索数据,但我在完成时错过了关闭连接。

一旦我这样做,程序正确关闭。