gpt4 book ai didi

c# - 是否可以在 Web 部件中使用多线程访问 SharePoint 2010 列表?

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:11 25 4
gpt4 key购买 nike

我正在尝试从自定义 Web 部件访问 SharePoint 2010 列表中的项目。使用线程时,List.ItemCount 属性是准确的,但项目集合为空。有没有人找到解决办法?我访问列表的代码如下:

    protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
{
Thread wThread = new Thread(new ThreadStart(WriteW));
//only showing one thread for simplicity
wThread.Start();
Thread.Sleep(500);

while (threadcount > 0)
{
Thread.Sleep(400);
}
lblGreeting.RenderControl(writer);

}

public void WriteW()
{
lock (lockobject)
{
threadcount++;
}
SPSite spsConflictSite = new SPSite("http://myserver/mysite");
SPWeb spwConflictWeb = spsConflictSite.OpenWeb();
SPList splConflictList = spwConflictWeb.Lists["Thread Tester List"];
DataTable myTable = splConflictList.Items.GetDataTable();
lblGreeting.Text += " " + myTable.Rows[0]["Title"].ToString();
spsConflictSite.Dispose();
lock (lockobject)
{
threadcount--;
}
}

最佳答案

我认为在线程中使用 Dispose 可能是个问题。尝试将 SPSite 调用包装在 using 语句中,让 .net 重新获得对处理的一些控制权。我在 SP2010 中使用了多线程,但它是一头 pig ,并且有很多“计划外的功能”。

当时我确实接到了 Microsoft 的支持电话,他们的回答是应该可以,但不受支持。

关于c# - 是否可以在 Web 部件中使用多线程访问 SharePoint 2010 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4261379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com