【问题标题】:Application State Migration Framework - .Net应用程序状态迁移框架 - .Net
【发布时间】:2012-05-19 05:58:12
【问题描述】:

我梦想能够在一台计算机上使用应用程序,关闭我当前的会话,并能够在另一台计算机上重新打开该会话。主要是由于特定于特定机器的本机资源等,据我所知,仅在 .Net 中序列化进程并将其移动到另一台机器是不可能的。行不通的原因太多了。现在最接近这个的可能是虚拟机,但这不是我想要的。

我的具体问题是:是否有基于 .Net 构建的框架来帮助启用此类应用程序?如果不在 .Net 中,是否有没有基于 .Net 构建的框架,也许我可以从中获得架构见解?

我想这样的框架必须将对原生资源的访问推送到应用程序的外围,抽象公共原生资源(文件 I/O、图形上下文),并构建“可休眠”子系统构建块以能够启动/停止应用程序。这可能不会让 .Net 的大部分框架部分仍然可用,因为它不会使用抽象,但我可以接受。

【问题讨论】:

  • 您是在谈论创建一个以这种方式运行的应用程序,还是创建一个可以使其他应用程序(您尚未编写)以这种方式运行的应用程序?
  • @AlbinSunnanbo:我认为是后者……
  • 澄清一下,我知道这可能需要应用程序以及某种控制“服务器”应用程序的特殊支持。我不希望任意程序能够工作,只有使用这个框架的程序才能工作。所以我说的是两者:“服务器”应用程序和“客户端”应用程序(由我自己或其他人编写)可以插入以启用此功能的框架。

标签: .net process-migration


【解决方案1】:

嗯,我几乎整天都在写那种应用程序。使用良好的“服务器-客户端”模式。服务器跟踪所有数据,连接的客户端获取最新数据。这也解决了多个用户协同处理相同数据的问题。唯一缺少的部分是存储导航状态和当前“未保存”的数据。这很容易在应用程序退出时存储,但这通常与我编写的应用程序类型无关。

不需要特殊的框架。

【讨论】:

  • 确实如此。我自己写了一两个这样的应用程序。 :) 但是往往有一些棘手的问题需要解决:客户端有多瘦?如果长时间运行的任务“暂停”/休眠,它可以恢复吗?存储的数据在哪里?等等。在我想象的那种设置中,这个框架本质上是可能的最厚客户端,资源本质上是作为提供者的轻型服务器。这样就已经写了很多样板,分工清晰。此外,一旦会话移动,我希望能够完全离线工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 2011-03-05
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多