- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
阅读后Stefan Gossner's post关于处置对象和这个关于 Cross method dispose patterns 的问题,我发现我不小心重新打开了一些SPWeb。我知道在 Stefan Gossner 的帖子中,他提到您应该在处理完任何子对象后处理 SPWeb。然而,microsoft documentation提到缓存 SPListItemCollection 对象。下面的代码正确吗?返回的 SPListItemCollection 会重新打开 SPWeb 对象吗?有什么办法可以确定吗?
// is this correct????
private SPListItemCollection GetListItems()
{
SPListItemCollection items = null;
try
{
using (SPSite site = new SPSite(GetListSiteUrl()))
{
using (SPWeb web = site.OpenWeb())
{
// retrieve the list
SPList list = web.Lists[_ListName];
// more code to create the query...
items = list.GetItems(query);
}
}
}
catch (Exception e)
{
// log error
}
return items;
}
You should dispose a SPWeb or SPSite object after the last access to a child object of this object.
最佳答案
我是在 asking Stefan directly 之后发现的SPListItemCollection 确实可以在处理后重新打开 SPWeb。这意味着我上面发布的代码是错误的,我只能在使用 SPListItemCollection 后处理 SPWeb。
更新:最好将 SPListItemCollection 转换为其他内容并返回。
private DataTable GetListItems()
{
DataTable table = null;
try
{
SPListItemCollection items = null;
using (SPSite site = new SPSite(GetListSiteUrl()))
{
using (SPWeb web = site.OpenWeb())
{
// retrieve the list
SPList list = web.Lists[_ListName];
// more code to create the query...
items = list.GetItems(query);
// convert to a regular DataTable
table = items.GetDataTable();
}
}
}
catch (Exception e)
{
// log error
}
return table;
}
关于sharepoint - 使用从函数返回的 SPListItemCollection 是否会重新打开 SPWeb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394952/
有谁知道如何使用 SPListItemCollection ReorderItems 方法?我似乎找不到关于此方法的足够文档。我想要做的是按日期降序排列列表。我不确定所需的值是什么,http://ms
我有一个 SPListItemCollection。 我基本上想(随机地)获得收藏中的一件元素并将其归还。 我的方法有一个需要 SPListItemCollection 的返回类型,所以我不介意有一个
我可能完全错误地解决了这个问题,但我对 SP 开发还是有点陌生,而且已经很晚了。 编辑:是的,我在想这个问题。我只记得 SPListCollection 与数据库相关联,如果我要添加记录,它将不起
阅读后Stefan Gossner's post关于处置对象和这个关于 Cross method dispose patterns 的问题,我发现我不小心重新打开了一些SPWeb。我知道在 Stefa
在我的 ASP.NET MVC 应用程序中,我试图检索列表中的所有项目以及版本历史记录,然后将它们转换为自定义对象。为此,我使用了 Microsoft.SharePoint。 我最初是按以下方式做的:
我是一名优秀的程序员,十分优秀!