【问题标题】:Call another WCF Data Service from WCF Data Service从 WCF 数据服务调用另一个 WCF 数据服务
【发布时间】:2012-08-20 11:19:06
【问题描述】:

我有这种情况:

1- 带有自定义实体的 WCF 数据服务 #1(无实体框架)

2- WCF 数据服务 #2 与实体框架的实体。

我的客户应该只调用 WCF 数据服务 #2,然后公开更多功能,然后使用自己的实体也可以使用 WCF 数据服务 #1 中的实体。

换句话说,我在 WCF 数据服务 #2 上调用了一个服务操作,它返回 WCF 数据服务 #1 上的一个实体,但不幸的是它失败了。

有什么建议吗?

【问题讨论】:

  • 它是如何失败的?它在哪里失败?
  • 你有两个模型中描述的实体? $metadata 必须能够描述服务操作,这意味着您需要为两个服务中的实体签订相同的合同。
  • @Seph 错误是找不到实体#1。
  • @Mark 实体 1 在模型 #1 中定义,实体 #2 在模型 #2 中定义。我认为这是问题所在。

标签: wcf-data-services odata


【解决方案1】:

任何 OData 服务当前都必须具有完全自描述的 $metadata。因此,在您的场景中,服务 2 可以从服务 1 返回一个实体,但服务 2 需要描述相同的实体。

如果您已经有一个自定义提供程序,那么代理对服务 2 上的服务操作的调用以包含来自服务 1 的结果应该不会太难(在这种情况下,您只需有一个 WCF 数据服务充当两者客户端和服务器)。问题是服务 2 必须根据该模型而不是模型 1 来描述实体。

未来有一个功能称为模型参考,它应该既能看到曙光,又能解决这个特定问题。

【讨论】:

    猜你喜欢
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2018-12-17
    • 1970-01-01
    • 2015-06-19
    相关资源
    最近更新 更多