当前位置:  开发笔记 > 大数据 > 正文

将linq与Sharepoint一起使用并处理对象

如何解决《将linq与Sharepoint一起使用并处理对象》经验,为你挑选了1个好方法。

如何在以下查询中处理对subWeb的引用?

using (SPSite spSite = Utility.GetElevatedSite(_rootUrl))
{
    from SPWeb web in spSite.AllWebs
    where web.ServerRelativeUrl.ToLower() == path
    from SPWeb subWeb in web.Webs                            
    select subWeb
}

如果iam已经在使用语句中包装了spSite,我是否还需要担心处理subWeb?

编辑:

在这种情况下调用垃圾收集是一个好主意吗?



1> John Liu..:

不幸的是,你做到了.麻烦从SPSite.AllWebs属性开始.SPWeb.Web属性也不安全.

阅读这个非常全面的参考资料,您需要担心处置SharePoint对象.

(我建议将其添加到您的SharePoint备忘单中).

因此,我觉得当前的SharePoint对象模型无法安全地与LINQ语法一起使用.

您的代码需要重新编写,并且各种隐含的循环都已分解,以便您可以显式处理所涉及的对象.

编辑: SPDisposeCheck工具是一个命令行控制台应用程序,它将扫描您的.NET程序集并根据上述最佳实践指南警告您未处理的引用.看看这个.

http://code.msdn.microsoft.com/SPDisposeCheck

http://blogs.msdn.com/sharepoint/archive/2008/11/12/announcing-spdisposecheck-tool-for-sharepoint-developers.aspx

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有