Silverlight 4.0 浏览器外Silverlight应用程序,带有本地脱机数据库和WCF-RIA

Silverlight 4.0 浏览器外Silverlight应用程序,带有本地脱机数据库和WCF-RIA,silverlight-4.0,wcf-ria-services,out-of-browser,Silverlight 4.0,Wcf Ria Services,Out Of Browser,我有以下情况: 我们为客户开发了一款silverlight 4应用程序,该应用程序将用作浏览器外应用程序。应用程序正在脱机工作,即应用程序和数据库位于用户的本地计算机上。该应用程序正在使用WCF RIA服务连接到本地数据库。数据库将是SQL Server Express、SQL Server CE或MySQL。我们正在使用MVVMLight和MEF 外部Web服务器仅用于不时更新应用程序或向应用程序添加新模块。为了实现这一点,我们做了一些类似的事情,如Jeremy Likness博客所示(htt

我有以下情况:

我们为客户开发了一款silverlight 4应用程序,该应用程序将用作浏览器外应用程序。应用程序正在脱机工作,即应用程序和数据库位于用户的本地计算机上。该应用程序正在使用WCF RIA服务连接到本地数据库。数据库将是SQL Server Express、SQL Server CE或MySQL。我们正在使用MVVMLight和MEF

外部Web服务器仅用于不时更新应用程序或向应用程序添加新模块。为了实现这一点,我们做了一些类似的事情,如Jeremy Likness博客所示(http://www.wintellect.com/CS/blogs/jlikness/archive/2010/05/25/silverlight-out-of-browser-dynamic-modules-in-offline-mode.aspx )

我们这样做的原因是复杂的。但长话短说,这主要是为了兼容更高版本的在线版本,我们不想使用WPF。因此,我们需要让Silverlight和WCF-RIA服务发挥作用

好的,这就是场景,问题是:

在这种情况下,我们需要一个本地Web服务器吗?该应用程序以编程方式安装在浏览器外,数据库是本地的,并通过WCF-RIA连接

如果是,哪种Web服务器就足够了?应通过客户执行的初始设置来安装和配置。客户不必对配置Web服务器做任何事情

关于这个场景还有其他想法或评论吗?还有其他可能的解决方案吗

谢谢你的帮助

我想,德克银灯不是要这样使用的。所以,这就像在VisualStudio中开发应用程序,并使用Cassini查看结果一样—所有内容都在本地运行—但您仍然需要一个web服务器。这里可能有更多信息-

我无法提供您问题的完整答案,因为我们目前正面临同样的问题。(WPF不是跨平台的,在某些客户端上是非常特定的硬件)

但我可能会分享一些关于我们的厚Silverlight客户端类型的想法:

  • 为了使部署等保持简单,我们使用自托管进程(作为后台进程安装)
  • 我们可能不使用RIA,因为后台进程必须使用Mono VM运行(但对于仅限MS的解决方案,请参阅)
  • 关于独立“客户机”的架构思想:

    根据您的需求,为每个通过消息(NServiceBus)与“主”服务器通信的客户机实现服务器可能会有些过分。但是如果您想在离线和Silverlight中使用客户端数据库,则应该考虑使用事件驱动架构。

    有一个关于将“事件驱动体系结构”和“CQRS”与Silverlight相结合的幻灯片。但我不会把它当作蓝图,更像是灵感。

    我们想离线使用我们的SL4应用程序。就目前而言,我们尝试使用IIS Express和带有WCF-RIA服务的SL4设置场景(就像使用“普通”远程服务器一样)。如果VS 2010正在运行,这一点很好,但当我们尝试在VS 2010未运行时启动应用程序和IIS服务器时,情况就不一样了。