1

我是 Ria Services 的新手。我正在使用 VS2013 SP2。我只是想弄清楚:是否可以在没有 Silverlight 的情况下使用 RIA 服务?

我看不出将 Ria 服务与任何类型的客户端(在我的情况下是独立的 wpf 应用程序)一起使用有任何主要矛盾。但....

  • 如我所见,仅为silverlight应用程序或silverlight类库生成客户端代码
  • 那是因为项目属性的silverlight选项卡中的特殊选项“wcf ria serivces link”。
  • 我找不到任何命令行工具或 msbuild 目标文件来生成客户端代码。
  • 似乎谷歌并没有感觉到“有”和“没有”之间的区别:(
  • 官方文档说在 asp.net web 项目中使用 ria 服务。更具体地说:同一个 Web 应用程序中的 DomainServiceSource。顺便说一句,自定义数据源组件完全不是我需要的。

这看起来像魔术!我无法想象谁生成客户端代码!

任何人都可以阐明这个问题,或者只是将我踢向正确的方向吗?

4

2 回答 2

3

您可能想看看 Breeze-sharp: ( http://www.breezejs.com/breeze-sharp )。它允许 .NET 客户端与任何 Web 服务(下面提到的示例应用程序使用 WebApi 后端)进行通信,并且客户端与旧的 RIA 服务客户端非常相似,但具有许多附加功能。

在 Breeze.Sharp.Samples GitHub 存储库中还有一个“DocCode”示例展示了 Breeze 的许多功能。

于 2014-06-17T15:57:00.147 回答
1

如果您想从完整的 .NET 应用程序(如 wpf)访问您的 DomainService 方法,您可以诉诸于公开一个 SOAP 端点并生成一个标准 wcf 代理,这篇文章将对您有所帮助,但请记住,您不会获得 DomainContext on你的 wpf,而是一个标准的 WCF 代理,它使“更改”不像 Silverlight 的 DomainContext 那样简单

这看起来像魔术!我无法想象谁生成客户端代码!

关于谁在生成代码,这完全取决于您放在 Silverlight .csproj 上的 RiaClientCodeGeneratorName 属性,您可以对其进行大量调整,但绝对适合 Silverlight。

话虽如此,如果可以选择,我认为您最好使用实际上取代 WCF RIA的OpenRia 。尽管它实际上并没有解决您的问题,但它是唯一正在开发的问题。

于 2014-06-17T09:17:48.677 回答