gpt4 book ai didi

tridion - 从 Tridion UGC 返回 ItemStats

转载 作者:行者123 更新时间:2023-12-04 14:30:30 26 4
gpt4 key购买 nike

我想知道是否有人可以对此提供任何指示。我正在尝试从 Tridion UGC Web 服务返回 ItemStats,但在尝试绑定(bind)结果时出现以下错误:-

封闭类型 TridionWebUGC.CDS.ItemStat 没有对应的 LastRatedDate 可设置属性。

代码示例是:-

WebServiceClient ugcCall2 = new WebServiceClient();
Uri uri = new Uri("http://new.ugc.service/odata.svc");
CDS.ContentDeliveryService cds = new CDS.ContentDeliveryService(uri);

var myItemStats = cds.ItemStats.Where(p => p.PublicationId == 68 && p.Id == 17792 && p.Type==16);

我可以毫无问题地获得评论和评分。例如。
    var myComments = cds.Comments.Where(p => p.ItemId == 17805).OrderBy(p => p.CreationDate);

只是 ItemStats 给了我一个问题。有人有什么想法吗?

谢谢

约翰

最佳答案

不幸的是,UGC WebService 的元数据在 ItemsStats 方面是不正确的。对您而言,这意味着 Web 服务元数据不会公开 ItemStat 实体包含 LastRatedDate 的事实。属性(property)。这会使您的 .NET 代理不知道此属性并使您的查询失败。
要解决此缺陷,您有两种选择:

  • 将以下属性添加到您的服务中:cds.IgnoreMissingProperties = true ;.这种方法的优点是您可以在 2 秒内完成。缺点是您将无法访问该属性(如果您实际使用它);
  • 修改 Visual Studio 生成的代理并将该属性手动添加到 ItemStat 类。这种方法的优点是您将能够从您的项目中访问该属性。缺点是从编码的角度来看完全无法管理,升级或重新生成代理时需要小心,手动添加属性很容易出错。

  • 注意 1:要从浏览器访问 webServer 的元数据,您可以转到 /odata.svc/$metadata .

    注意 2:仔细观察,webService 元数据中缺少 2 个属性: LastRatedDateLastCommentedDate .

    希望这可以帮助。

    关于tridion - 从 Tridion UGC 返回 ItemStats,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606657/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com