超出浏览器Silverlight应用程序与本地脱机数据库和WCF-RIA

时间:2011-01-14 07:27:27

标签: silverlight-4.0 wcf-ria-services out-of-browser

我有以下情况:

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

外部网络服务器仅用于不时更新应用程序或向应用程序添加新模块。为实现这一目标,我们采取类似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服务。

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

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

如果是,哪个网络服务器就足够了?它应该通过客户执行的初始设置进行安装和配置。客户不必为配置网络服务器做任何事情。

有关此方案的任何其他想法或评论?还有其他任何可能的解决方案吗?

感谢您的帮助 德克

2 个答案:

答案 0 :(得分:0)

我认为Silverlight不应该以这种方式使用。所以当你在visual studio中开发应用程序并使用Cassini查看结果时 - 就像在本地运行 - 但你仍然需要一个Web服务器。也许有更多信息 - http://www.infoq.com/news/2010/06/WPF-vs-Silverlight

答案 1 :(得分:0)

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

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

  1. 为了简化部署等,我们使用自托管流程(作为后台流程安装)
  2. 我们可能不会使用RIA,因为后台进程必须使用Mono VM运行(但对于仅限MS的解决方案,请参阅Can WCF RIA Services be self hosted?
  3. 独立“客户”的建筑思想:

    根据您的要求,为每个通过消息(NServiceBus)与“main”-server进行通信的客户端实现服务器可能过度。但是如果你想使用客户端数据库,如果你想使用离线和Silverlight for ui,你应该考虑使用事件驱动架构。

    结合“Event-Driven-Architecture”& amp; Silverlight的“CQRS”。但我不会把它当作一个更像灵感的蓝图。 http://www.slideshare.net/dennisdoomen/cqrs-and-event-sourcing-an-alternative-architecture-for-ddd