应用程序未正确结束并在后台运行

Posted

技术标签:

【中文标题】应用程序未正确结束并在后台运行【英文标题】:Application not ending properly and running in the background 【发布时间】:2016-10-01 03:59:07 【问题描述】:

我有一个简单的 wpf 应用程序。但它使用 CefSharp 在基于 chrome 的浏览器中打开一些链接。我发现一旦应用程序的主窗口关闭,它就会从 UI 中关闭,但它仍然在后台运行。

我尝试添加额外的代码来强制关闭它。但没有希望。我认为 cefsharp 的某些组件没有正确结束。但不完全确定出了什么问题。

也使用了以下代码和其他一些 sn-ps

protected override void OnClosed(EventArgs e)
        
            base.OnClosed(e);


            foreach (Window w in App.Current.Windows)
            
                if (w.DataContext != this)
                    w.Close();
            
            Application.Current.Shutdown();
        

【问题讨论】:

试试Cef.Shutdown(); 酷。它有效! 乐于助人 :) - 在这里找到答案 github.com/cefsharp/CefSharp/issues/990 我试过了,它不允许我..需要等待几分钟。我一会儿再做。 【参考方案1】:

正如我在评论中所说,尝试:Environment.Exit(0);

如果这不起作用,请从Cef.Shutdown();开始

https://***.com/a/9050477/1274820

如果你真的需要它来关闭你也可以使用 Environment.Exit() 但它一点也不优雅(更像是结束进程)。

【讨论】:

是的,我试过了。但是当我检查任务管理器时它仍在运行 试试Cef.Shutdown();

以上是关于应用程序未正确结束并在后台运行的主要内容,如果未能解决你的问题,请参考以下文章

oracle 问题 ORA-00933: SQL 命令未正确结束 如何解决?

vagrant ssh -c 并在连接关闭后保持后台进程运行

Android 应用、活动状态(运行、未运行、前台/后台)

beginBackgroundTaskWithExpirationHandler 调用 endBackgroundTask 但未结束进程

应用未在 iO 中运行时的本地区域识别

OracleDataAdapter.Fill 抛出“SQL 命令未正确结束”