2010-11-10 103 views
0

我们正在实施一些通过asp.net web服务公开的业务功能。通过桌面应用程序重用网站功能

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

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

我清楚了吗?

有没有办法做到这一点?

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

欢迎任何想法!

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

+0

“桌面应用只能作为浏览器(不添加任何附加功能)。”你的意思是像我现在使用的免费,经过充分测试的浏览器? – 2010-11-10 23:15:05

回答

0

我的想法应该完全适用于简单的HTML UI实现,它将通过CHtmlView控件从桌面应用程序“浏览”。

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

1

那么......你基本上已经有了你的答案。如果您可能要使用Silverlight,如果当前的桌面应用程序是使用WPF和XAML构建的,那么您会很快地进行转换。否则,你将不得不像所有其他网站一样构建一切 - div和CSS一直为站点,而设计师resx为桌面。

+0

Silverlight仍然是可选的。你能否澄清你的意思是“桌面设计师resx的”?请注意,目前的第一个目标是(以任何方式)使桌面版本可行。 – Budda 2010-11-10 23:13:43

+0

我的意思是你要么在XAML中设计网页和桌面,要么使用Silverlight/WPF,要么使用ASP.Net和Windows Forms。如果你所要做的只是让系统的Windows窗体部分充当Web应用程序的浏览器,那么我就不用担心了。正如另一位评论者指出的那样,目前已经有几个高质量的浏览器。我建议不要创建一个桌面应用程序来充当浏览器,它很笨重,很难看,任何IT专业人员都会看到它。只有苹果真的在做“桌面应用中的网络应用”。 – 2010-11-11 08:03:01

1

除非客户付钱给您编写和维护应用程序的多余版本,否则请勿这样做。只需编写新的Web应用程序,包装它们,并称它为好。

如果你可以这样做,我建议你简单地跳过集成步骤。无论如何,如果你最终抛弃代码,那么整体成本就会降低。

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

+0

“应用程序快捷方式”将无法从当前对话框“返回”到另一个...但是,感谢您提供一个想法。 – Budda 2010-11-10 23:17:42

+0

@Budda:我重读了你的问题,并且发现“Make Application Shortcut”选项不起作用,因为你正在将一个Web UI片段集成到现有的应用程序中。尽管已经编辑过它来考虑这一点 – 2010-11-10 23:19:25

相关问题