【问题标题】:How to access a RIA Services WCF WebApp from another WebApp?如何从另一个 WebApp 访问 RIA Services WCF WebApp?
【发布时间】:2014-05-05 22:47:33
【问题描述】:

我有一个 silverlight 应用程序,它通过 RIA 服务从服务器中的 WCF 应用程序访问其数据。当前结构如下所示:

  • DataWebServer - 一个 Web 应用程序项目,其中包含将调用 Silverlight 组件的 .aspx 页面、.edmx 模型文件和一个 MyService 类,继承自 LinqToEntitiesDomainService<FortWayneDB>

  • Silverlight 应用程序 - 包含将生成 .xap 二进制文件的 .xaml 和 .cs 文件,由 WebServer 托管。它通过 RIA Services 访问“DatawebServer”项目。

一切正常,但现在我需要创建一个新应用程序,因为我们需要它在平板电脑和智能手机等平台上运行,我们决定用 HTML5 构建它,而不是 Silverlight。

如何让这个新的 WebApp 访问“DataWebServer”项目中的数据实体?

我想到了 3 种不同的解决方案,但我更喜欢第三种,这正是我的问题。

  • 我可以将新的 WebApp 放在同一个 web 项目“DataWebServer”中的文件夹中,但这不会很有条理,我宁愿将此应用程序与“DataWebServer”分开。

  • 第二种方法是在“DataWebServer”中创建 WebMethods,以便从我的新 WebApp 访问。

  • 第三个,我不知道该怎么做,是让我的新 Web 应用程序通过 RIA 服务访问实体,就像 Silverlight 客户端一样。我在 Internet 上进行了搜索,但我找到的所有文章都显示了如何从同一个项目访问 RIA 服务。有谁知道我该怎么做?

【问题讨论】:

    标签: c# wcf silverlight wcf-ria-services


    【解决方案1】:

    第一种方法是最明智的。

    根据您的详细信息,我认为DataWebServer 是“公开”可访问的;至少与您的WebApp 一样多。让WebApp 数据请求转到另一台服务器DataWebServer 没有什么价值,因为这会在一个 Web 服务器调用另一个 Web 服务器时引入不必要的延迟。不要重用来自 DataWebServer 的 HTTP 服务,而是将 WebApp 功能添加到 DataWebServer重用 LinqToEntities 上下文

    如果您迫切需要第三个选项,您应该考虑创建您的WebApp,让应用程序中的 JavaScript 调用 DataWebServer 以获取来自客户端浏览器的数据。重要的是,这种方法避免了 WebApp 网络服务器调用 DataWebServer 获取数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 2021-12-18
      • 2021-08-02
      • 1970-01-01
      相关资源
      最近更新 更多