1

我正在开始一个主要是silverlight Web 应用程序的新项目。但是,它还需要作为独立的桌面应用程序运行。

我计划将项目基于 Prism 4.0。它提供了有关在 silverlight 和 WPF 之间为“多目标”应用程序共享代码的指南。如果我理解正确,我可以使用 MVVM 为相同的视图模型和底层服务创建单独的 silverlight 和 WPF 视图。

我想知道,当silverlight 现在可以作为浏览器外的应用程序运行时,是否真的值得额外的工作来创建额外的视图。我不能将我的应用程序的桌面版本与 IIS Express 捆绑在一起并在本地托管 silverlight 应用程序吗?这似乎是一件相当容易的事情。我确信我可以在 WPF 中以不同的方式做一些视觉上引人注目的事情,但就我而言 - Web 版本是 90% 的使用率,因此重点显然是 Silverlight。如果我们必须维护两组独立的视图,我可以看到 WPF 版本经常落后于 silverlight 版本。

在数据方面,我已经发现我可以将实体框架配置为与桌面版本的 SQL CE 4.0 一起使用。即使我们使用 WPF,我也会这样做,所以它实际上只是表现层。

回顾一下,问题很简单:IIS Express + Silverlight OOB 是 Silverlight 和 WPF 多目标的可行替代方案吗?

4

2 回答 2

2

只要您可以忍受沙盒限制,纯 Silverlight 版本设置很可能会更好。要测试的不太明显的代码总是一件好事。您尚未指定应用程序正在做什么,但只要它不需要访问(大多数)本地设备、不受限制的文件系统访问或任何其他 SL4 沙箱限制(您也可以通过 COM 互操作来解决) ,但是哎哟),您应该只使用浏览器内和浏览器外部署设置的一个版本的应用程序。

于 2011-04-15T17:43:16.633 回答
1

浏览器应用程序之外的 Silverlight 听起来非常适合您的需求。与其尝试将 IIS express 和 SQL CE 捆绑在一起,您可能想看看像SterlingDB这样的用于本地数据存储的东西。如果您正在调用 Web 服务,则在启用“完全信任”标志的情况下运行的浏览器外应用程序没有跨域限制。这样,您的应用程序将是纯银光,您的部署和更新方案将非常简单(通过网站单击安装)。

于 2011-04-16T00:49:31.520 回答