【问题标题】:wcf ria services hostingwcf ria 服务托管
【发布时间】:2013-11-06 19:53:36
【问题描述】:

我有一个 silverlight 应用程序并使用 wcf ria 服务。问题是关于托管 wcf ria 服务的选项。

在我阅读的所有文章中都提到,RIA 服务应该托管在托管 silverlight 应用程序的同一个 Web 应用程序上。

另一种选择是,我们可以使用 WCF RIA 类库,但这仍然需要在托管 silverlight 的 silverlight Web 应用程序中引用。

我想知道,为了更简洁的实现,我可以在任何其他 Web 应用程序中托管 WCF RIA 服务吗?

【问题讨论】:

  • 由于还没有答案,也许我需要进一步解释一下。通常,当我们用 WCF 服务实现服务层时,我们更喜欢有一个单独的层(一个 WCF 服务项目)而不是托管在 silverlight 托管网站中。这为我们提供了一个更加解耦、可维护的系统。 WCF RIA 是否可以使用这种方法?提前致谢!
  • 我认为更重要的相关建议:使用 ria client 库,即。不要将 silverlight 客户端直接附加到域服务。将域客户端代码自动生成到自己中的客户端直接遭受 xaml 设计器的严重性能下降。我知道这听起来很奇怪,但这是真的。

标签: wcf silverlight wcf-ria-services ria


【解决方案1】:

WCF RIA 服务的默认方案假定您将创建要在 Web 项目中的服务器和客户端之间共享的业务对象,并且这些对象将在您的 Silverlight 项目中复制。

但是,此方案不会创建理想的单独“中间层”,您的业务对象包含在单独的程序集中,然后可以在应用程序之间重用。

这就是 WCF RIA 服务类库 项目模板的用武之地。但是,可以将业务逻辑移出 Web 项目并移到单独的类中 库,使用 WCF RIA 服务类库项目模板。因此,您可以将实体和元数据类放在与服务器项目不同的项目中。但是您必须在托管 silverlight 的 Web 项目中添加对它的引用。

这是一个合理的事情

【讨论】:

  • 谢谢。我使用了 WCF RIA 服务类库方法。就我而言,这种方法的问题在于,我在我们组织中的所有 Silverlight 应用程序之间共享了 Web 托管应用程序。我们有一个内部框架,其中只有一个 Silverlight 主应用程序和一个主机应用程序,其余应用程序创建为 silverlight 类库并插入主应用程序。当我将 wcf ria 服务类库添加到主主机应用程序时,域上下文将在 Silverlight 类库的所有其余部分中可用,它们甚至不使用该上下文。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 2011-04-22
相关资源
最近更新 更多