【问题标题】:Getting 'MaxItemsInObjectGraph quota' error while trying to filter the process histories尝试过滤进程历史记录时出现“MaxItemsInObjectGraph quota”错误
【发布时间】:2012-10-07 14:21:34
【问题描述】:

我正在尝试遍历 Workflow Management --> Process History 下的所有项目并做一些事情。

以下是我的代码:

ProcessesFilterData filter = new ProcessesFilterData()
{
    BaseColumns = ListBaseColumns.IdAndTitle,
    ProcessType = ProcessType.Historical
};
foreach (IdentifiableObjectData data in csClient.GetSystemWideList(filter))
{
     //doing somethine here
}

我在 foreach (IdentifiableObjectData data in csClient.GetSystemWideList(filter)) 行中收到以下错误

错误信息:

格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数http://www.sdltridion.com/ContentManager/CoreService/2011:GetSystemWideListResult 时出错。 InnerException 消息是“对象图中可以序列化或反序列化的最大项目数为“65536”。更改对象图或增加 MaxItemsInObjectGraph 配额。 '。有关详细信息,请参阅 InnerException。

【问题讨论】:

标签: wcf tridion tridion-2011


【解决方案1】:

查看http://www.dailycode.info/Blog/post/2011/05/27/Change-the-object-graph-or-increase-the-MaxItemsInObjectGraph-quota.aspx。您可以在 %TRIDION_HOME%\webservices 中更改 Web.config 中的值。我安装的值已经明显高于您的错误指示的值。

【讨论】:

  • 嗨杰里米,当我检查我的配置文件时,它没有端点行为节点。它只有服务行为节点,并且它的 maxItemsInObjectGraph="2147483647" 已经设置
  • 那么我猜你需要为你的客户端找到 web.config 并添加/更新 endpointbehaviour 节点值。您是如何创建 CoreServe 客户端的?
  • var netTcpBinding = new NetTcpBinding { MaxReceivedMessageSize = 2147483647, ReaderQuotas = new XmlDictionaryReaderQuotas { MaxStringContentLength = 2147483647, MaxArrayLength = 2147483647 } };我在创建客户端时使用上述行
  • msdn.microsoft.com/en-us/library/ms732038.aspx查找名为“序列化行为”的部分
  • 顺便说一句,我使用 Google 和您的部分或全部错误消息作为我的搜索词在几分钟内找到了所有这些信息...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-13
  • 1970-01-01
相关资源
最近更新 更多