【问题标题】:Web sites functionality reuse by desktop application桌面应用程序重用网站功能
【发布时间】:2010-11-10 22:45:04
【问题描述】:

我们正在实现一些通过 asp.net Web 服务公开的业务功能。

在当前阶段,用户界面需要一些平静,我们将在现有的桌面应用程序中实现它(它是 MFC C++ 应用程序,但我们正在考虑集成一些 WinForms/Wpf 组件)。

在不久的将来,我们计划将当前的桌面应用程序替换为网站版本(它将是 asp.net 网站,或者可能是 Silverlight 应用程序)。因此,我想在网站上实现一次 UI,然后以某种方式从桌面应用程序中重用它。

我够清楚了吗?

有什么办法吗?

当然,我现在可以实现 Web 服务并从桌面应用程序中使用它,并在需要时从 Web 应用程序中重新使用它……但我希望有更好的方法来做到这一点。

欢迎提出任何想法!

附:一个选项可以是我们的桌面应用程序显示的 asp.net 网页。桌面应用仅用作浏览器(不添加任何额外功能)。

【问题讨论】:

  • “桌面应用程序将仅用作浏览器(不添加任何附加功能)。”你的意思是像我现在使用的免费的、经过良好测试的浏览器?

标签: .net asp.net soa webforms


【解决方案1】:

嗯……你基本上已经有了答案。如果您可能要使用 Silverlight,如果当前的桌面应用程序是在 WPF 和 XAML 中构建的,那么您将非常快速地进行转换。否则,您将不得不像构建任何其他网站一样构建所有内容 - 网站一直使用 div 和 CSS,而桌面则使用设计器 resx。

【讨论】:

  • Silverlight 仍然是可选的。您能否澄清“桌面设计师 resx”下的意思?请注意,当前的第一个目标是(以任何方式)有一个可行的桌面版本。
  • 我的意思是,您要么使用 XAML 设计网页,同时使用 Silverlight/WPF 设计桌面,要么使用 ASP.Net 和 Windows 窗体。如果您要做的只是让系统的 Windows 窗体部分充当 Web 应用程序的浏览器,我不会打扰。正如另一位评论者所指出的,那里已经有几个高质量的浏览器。我建议不要创建一个桌面应用程序来充当浏览器,它笨重、丑陋,任何 IT 专业人员都会看穿它。只有 Apple 真正将“桌面应用中的网络应用”做得很好。
【解决方案2】:

除非客户付钱让您编写和维护应用的冗余版本,否则不要这样做。只需编写 Web 应用程序的新部分,包装它们,然后称其为好。

如果可以,我建议您也直接跳过集成步骤。如果你最终还是要把代码扔掉,那么总体成本会更低。

使用您想要的任何技术。如果您不使用客户端框架来实现它,您将不会被绑定到任何特定平台。另一方面,如果您使用现有的客户端框架(如 Silverlight),并使用良好的代码设计实践(如 MVVM),则可能更容易进行单元测试。

【讨论】:

  • “应用程序快捷方式”将无法从当前对话框“返回”到另一个对话框...但感谢您的建议。
  • @Budda:我重新阅读了您的问题,并发现“制作应用程序快捷方式”选项不起作用,因为您正在将单个 Web UI 片段集成到现有应用程序中。不过,已经对其进行了编辑以考虑到这一点
【解决方案3】:

我的想法应该与简单的 HTML UI 实现完美配合,该实现将通过 CHtmlView 控件从桌面应用程序“浏览”。

说实话,我并没有尝试实现(任务被推迟了一段时间)。

【讨论】:

    猜你喜欢
    • 2021-12-30
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多