【问题标题】:Out Of Browser Silverlight app with local offline database and WCF-RIAOut Of Browser Silverlight 应用程序与本地离线数据库和 WCF-RIA
【发布时间】:2011-01-14 07:27:26
【问题描述】:

我有以下场景:

我们为客户开发了一款 silverlight 4 应用程序,将用作浏览器外应用程序。该应用程序正在离线工作,即应用程序和数据库位于用户本地计算机上。该应用程序使用 WCF-RIA-services 连接到本地数据库。数据库将是 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 连接。

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

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

感谢您的帮助
德克

【问题讨论】:

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


    【解决方案1】:

    我认为silverlight 不应该以这种方式使用。因此,就像您在 Visual Studio 中开发应用程序并使用 Cassini 来查看结果一样——一切都在本地运行——但你仍然需要一个 Web 服务器。也许更多信息在这里 - http://www.infoq.com/news/2010/06/WPF-vs-Silverlight

    【讨论】:

    • 我们想离线使用我们的 SL4 应用。就我们现在而言,我们尝试使用带有 WCF-RIA 服务的 IIS Express 和 SL4 设置场景(就像我们使用“普通”远程服务器所做的那样)。如果 VS 2010 正在运行,这很有效,但当我们尝试在 VS 2010 未运行时启动应用程序和 IIS 服务器时就不行了。
    【解决方案2】:

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

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

    1. 为了保持部署等简单,我们使用自托管进程(作为后台进程安装)
    2. 我们可能不使用 RIA,因为后台进程必须使用 Mono VM 运行(但对于仅限 MS 的解决方案,请参阅 Can WCF RIA Services be self hosted?

    关于独立“客户”的架构思想:

    根据您的要求,为每个通过消息(NServiceBus)与“主”服务器通信的客户端实现一个服务器可能是矫枉过正。但是,如果您想使用离线客户端数据库和用于 ui 的 silverlight,您应该考虑使用事件驱动架构。

    有一个幻灯片显示将“事件驱动架构”和“CQRS”与 Silverlight 相结合。但我不会将它用作更像是灵感的蓝图。 http://www.slideshare.net/dennisdoomen/cqrs-and-event-sourcing-an-alternative-architecture-for-ddd

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      相关资源
      最近更新 更多