繁体   English   中英

获取所有NodieId或所有NodeAliasPaths API 7的最佳方法是什么

[英]What's best way to get all NodieIds or all NodeAliasPaths API 7

我将NodeIds(其中22,000个)收集到List中并将其传递给

tree.SelectSingleNode(NodeID) // Kentico API7

我是否使用

tree.SelectSingleNode(NodeID) 

或等效的NodeAliasPath

tree.SelectSingleNode(CMSContext.CurrentSiteName, aliaspath, culture) 

都返回一个允许操作Node数据的节点,我在任一行上都遇到内存不足错误:

tree.SelectSingleNode(NodeID) 

tree.SelectSingleNode(CMSContext.CurrentSiteName, aliaspath, culture)

错误消息是由于代码还是环境造成的?

这是错误消息:

托管调试助手“ FatalExecutionEngineError”已在“ C:\\ Users \\ xxxxxxx \\ Documents \\ Visual Studio 2013 \\ Projects \\ ConsoleApplication4 \\ ConsoleApplication4 \\ bin \\ Debug \\ ConsoleApplication4.vshost.exe”中检测到问题。

附加信息:运行时遇到致命错误。 错误的地址位于线程0x5330上的0x005228e7。 错误代码为0x80131623。 此错误可能是CLR或用户代码中不安全或不可验证部分的错误。 该错误的常见来源包括COM-interop或PInvoke的用户封送处理错误,这些错误可能会破坏堆栈。

看来您正在正确获取信息。 问题是,当您将所有数据存储在内存中时,您只是拥有太多的节点而导致内存不足。 我要做的是获取数据并分批处理。 如果您正在运行多租户环境,则还可以在where子句中指定SiteID。 您还可以指定要接收或修改的列,这也将有助于您带回的数据量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM