我有一个用 WPF 和 WF 编写的 Windows 应用程序,它还通过 Quickbooks API 与外部 Web 服务和 Quickbooks 的本地副本进行交互。
一切都运行良好,但唯一的问题是即使在我们退出 Windows 应用程序和 Quickbooks 之后,我们仍然可以在任务管理器中看到 Windows 应用程序可执行文件。
任何人都知道我们如何解决这个问题?
谢谢,巴达伦
我有一个用 WPF 和 WF 编写的 Windows 应用程序,它还通过 Quickbooks API 与外部 Web 服务和 Quickbooks 的本地副本进行交互。
一切都运行良好,但唯一的问题是即使在我们退出 Windows 应用程序和 Quickbooks 之后,我们仍然可以在任务管理器中看到 Windows 应用程序可执行文件。
任何人都知道我们如何解决这个问题?
谢谢,巴达伦
这可能是与Application.ShutDownMode相关的问题吗?该属性可能设置为ShutDownMode.OnExplicitShutDown并且可能不会调用Application.ShutDown()。
只是一个猜测,但我希望你的 WF 或 quickbooks API 挂在他们的Dispose()
电话上。有时网络 API 太急于正确清理,而不是仅仅关闭并让开。
处理此问题的一种方法是通过带有超时的 bg 线程。类似于以下内容
Action close = api.Dispose;
var ar = close.BeginInvoke(cb => close.EndInvoke(cb), null);
ar.AsyncWaitHandle.WaitOne(500);