我有一个.net C#控制台应用程序(不是服务)。它基本上连接到web服务,获取一些xml文件,将这些文件复制到驱动器上的几个位置,验证xml,处理它并将这些对象发送到另一个Web服务。

但是,当主方法存在(并且控制台窗口关闭)时,我仍然可以在任务管理器中看到该过程。

我尝试使用try尝试包围main方法中的所有内容,以捕获ApplicationException,即使一切工作顺利,我仍然无法解决为什么应用程序崩溃...

任何人都知道从哪里开始检查有缺陷的部分?

有帮助吗?

解决方案

查看线程使用情况和异步调用。

其他提示

如果控制台窗口已关闭,那么该进程仍在运行似乎非常奇怪。你可以在Visual Studio调试器中附加它吗? (显然是一个调试版本。)

你确定它不是以前仍在执行的运行吗?

如果您正在调试应用程序,那么我已经看到Visual Studio创建了一个类似于您的应用程序的主机exe的情况,最后使用.vshost.exe。它使用它控制您的应用程序以获得更好的调试体验。完成程序调试后,这个主机exe会保持不变,以便它等待并准备就绪,以便它可以快速启动新的调试会话。

你确定这个exe不是那个徘徊吗?

如果您在没有调试的情况下运行应用程序,那么它是否仍然存在?

您的应用程序中几乎肯定有一个未终止的线程。正如乔恩所说,用调试器附加,看看哪些线程还活着。

正如所有其他答案都暗示你可能确实有一个挥之不去的线程,但它不一定是你明确创建的,你可能需要在一个或多个对象上调用Dispose或类似的东西

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top