c# - 检查运行 fullTrustProcess UWP
问题描述
我有一个在启动时运行的 dotnet core fullTrustProcess 控制台应用程序,它与我的主 UWP 应用程序打包在一起。UWP 应用将此控制台应用作为一种通信服务器。有一个问题,如果控制台应用程序以某种方式终止,那么“仍在运行”的 UWP 应用程序突然中断!
似乎在使用: System.Diagnostics.Process.GetProcessByName() 在 UWP 中是非法的,那么究竟如何才能看到进程是否已死并再次调用:await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
启动它并保持整个应用程序正常运行?
您是否可以在 UWP 中启动 fullTrustProcess 但禁止检查或终止它,那么在我看来这是一个设计缺陷,即使是故意的。
解决方案
当您的控制台配套应用程序消失时,您将在您的 AppService 任务上收到一个 TaskCanceled 事件,该任务处理您的 UWP 和完全信任进程之间的连接。
这样,您甚至可以决定是否要重新启动伴随进程。
我的博客上有这个场景的完整示例。请参阅这篇文章的“处理过程退出场景”部分: https ://stefanwick.com/2018/04/16/uwp-with-desktop-extension-part-3/
推荐阅读
- java - 无法在 Tomcat 9 上运行 JSP 文件:无法设置文件的最后修改日期
- swiftui - Switch 语句不响应更改
- java - System.getenv 带有特殊字符,如 Java 中的 '%'
- python - 如何使用 BeautifulSoup 提取多个 H2 标签
- c# - 如何找到引用的 dll 中缺少哪些依赖项?
- opengl - 为什么在交换缓冲区后调用 GL.Finish 可以防止低端硬件出现大量卡顿,但在现代 GPU 上却没有?
- java - 如何在 ListDataBaseTables (NiFi) 中提供“_”作为表名格式的一部分
- javascript - Dom 不更新 Vuex 状态变量
- azure - 部署 Azure 自动化帐户 Runbook 的最佳实践
- ios - 什么是 @IBSegueAction 有效的方法签名?