SharePoint和线程安全

Flo*_*Flo 2 sharepoint moss multithreading thread-safety

我正在寻找有关SharePoint和线程安全的文章,论坛或博客文章?我非常确定在使用SharePoint对象模型时必须考虑有关线程安全的一些特殊方面.

实际上我还没有找到很多关于此的信息.

所以我很期待你的回答.

再见,弗洛

x0n*_*x0n 7

SharePoint OM中存在更糟糕的陷阱,而不仅仅是简单的旧线程安全性.特别注意处理从属性中检索的对象.在处理对象时,应始终保持指向对象的指针; 例:

var list = web.List["MyList"]
list.Items[0]["Field1"] = "foo"
list.Items[0]["Field2"] = "bar"
list.Items[0].Update() // nothing is updated!
Run Code Online (Sandbox Code Playgroud)

您可能希望通过最终的Update()调用更新Field1和Field2,但不是.每次使用索引器时,都会返回对SPListItem的新引用.

正确的方式:

SPListItem item = list.Items[0]
item["Field1"] = "foo"
item["Field2"] = "bar"
item.Update() // updated!
Run Code Online (Sandbox Code Playgroud)

刚开始.还有谷歌在IDisposabe/Dispose模式周围的陷阱.

-Oisin