我正在使用UGC Web服务返回UGC内容,但我遇到的问题是用户返回null。用户正在进入UGC数据库 - 我可以在UGC_USERS表和UGC_ITEMS表中看到用户,但是当使用odata.svc检索注释时,用户将返回null。
WebServiceClient ugcCall2 = new WebServiceClient();
Uri uri = new Uri("http://new.ugc.service/odata.svc");
CDS.ContentDeliveryService cds = new CDS.ContentDeliveryService(uri);
var comments = client.Comments;
有谁知道为什么会这样?目前,受众经理尚未接触过。我们只是添加域用户的注释 - 用户名出现在UGC数据库中,但当我们从odata检索注释时,用户将返回null。
由于
约翰
答案 0 :(得分:3)
约翰,
确保您在通话中使用Expand方法:
client.Comments.Expand("User")
这将确保完整的用户数据也是结果的一部分。
如果直接查询Odata,您可以清楚地看到它:
odata.svc/Comments?$expand=User
干杯
答案 1 :(得分:1)
似乎是mis(-un)配置Ambient Data Framework (ADF)
的情况。确保在您的网站上配置了ADF - 即您调用OData服务的服务器。
ADF负责将您的客户信息(例如用户ID,Cookie,会话ID等)从一台机器发送到另一台机器。在您的情况下,与OData的通信似乎没有这些信息。这表明ADF未正确配置。再次查看UGC的文档,了解如何配置它。
顺便说一下,您的示例代码不是很清楚,它是client
?
答案 2 :(得分:0)
正如Mihai所说,确保在UGC CD Web服务上配置UGC环境盒式磁带作为(暂存或实时)网站。如果没有这样做,用户将注册ID为null。
另请参阅我的博客,了解安装UGC时的常见问题:
http://80000ft.blogspot.nl/2012/08/common-issues-while-installing-ugc.html