【问题标题】:How to build modules for a WPF application that run in their own Windows processes?如何为在自己的 Windows 进程中运行的 WPF 应用程序构建模块?
【发布时间】:2014-12-28 19:09:20
【问题描述】:

我正在构建我的第一个 WPF 应用程序,它基本上是一个容器窗口,可以在其中加载一些页面或“模块”。这可行,但是我想让每个模块在 Windows 中成为自己的进程,这样它就可以强制退出并且不会影响应用程序的其余部分。

例如,我会使用 Google 的 Chrome。每个选项卡都在自己的 Windows 进程中运行,Chrome 甚至有自己的内部任务管理器来管理它们。这是我想要完成的,但我不确定最好的方法。

我是否必须为每个模块创建一个单独的项目,然后在我的 MainWindow 中运行每个可执行文件?我希望能够在一个项目中做到这一点。

【问题讨论】:

  • 只是一个小提示:你确定你的第一个程序需要这个吗? Chrome 肯定不是他们的第一个程序。
  • 我不一定需要它,但它会改进程序。我正在尝试更多地了解 WPF 和一般的 Windows 编程,来自 Web 编程背景,有很多东西要学。

标签: c# wpf process module


【解决方案1】:

使用应用程序域来隔离可能导致进程中断的任务。如果正在执行任务的 AppDomain 的状态变得不稳定,则可以在不影响进程的情况下卸载 AppDomain。当一个进程必须长时间运行而不重新启动时,这一点很重要。您还可以使用应用程序域来隔离不应共享数据的任务

【讨论】:

  • 这将是有益的,但它不允许实施单独的流程。
  • 如果您的所有进程都在 .NET 中,那么这可能是一个解决方案。否则你需要在它们之间创建层
猜你喜欢
  • 2011-06-08
  • 2016-03-19
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多