sharepoint splistitem。更新失败

sharepoint splistitem。更新失败,sharepoint,splistitem,Sharepoint,Splistitem,我有以下代码: using(SPWeb web = ... { .... SPListItem item = GetItemById(id); item["Status"] = status; item["Reason"] = reason; item.Update(); } 我得到一个例外“无法完成此操作”。。。然而,试图弄明白,我注意到了一些。。。奇怪的 我在行项目中正好放置了一个断点。Update()。。。在调试过程中,我让异常

我有以下代码:

using(SPWeb web = ...
{ 
          ....

    SPListItem item = GetItemById(id);

    item["Status"] = status;
    item["Reason"] = reason;

    item.Update();
}
我得到一个例外“无法完成此操作”。。。然而,试图弄明白,我注意到了一些。。。奇怪的

我在行项目中正好放置了一个断点。Update()。。。在调试过程中,我让异常发生,然后我转到我的监视窗口并将“item.Update()”放在那里。。。项目已更新

然后。。我重新开始,但是,这次,我在监视窗口中尝试了“item.Update()”,引发了一个异常。。然后我按F10执行我的代码,令我惊讶的是,它成功地更新了项目

我已经试了一遍又一遍,一直都是一样的。。。所以,出于某种奇怪的原因,第一次失败,第二次很好。。有人知道为什么吗

编辑:

我试过这个:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    ....
    item.Update();
});
但是,它仍然失败,现在只有一个例外:“由于当前状态,操作无效”

编辑2:

这是moss 2007,它是一个连接到sharepoint网站的web应用程序(asp.net),两列都存在

我发现了另一件事。。如果我在item.Update()中放置一个断点,然后按F10,它就会工作。。该项已更新..并且未引发异常。。。但在正常的执行中,它总是失败

尝试设置:

web.AllowUnsafeUpdates = true;
此外,如果在此之前对SPWeb对象或SPListItem对象进行了其他更新,则可能需要重新更新它们

请查看此处,以获取可能对您有所帮助的信息:

您是否查看了事件日志或日志文件以了解更多信息?我确实查看了sharepoint中的日志,发现了以下内容:“错误:无法打开ThreadToken”我不确定它是否与此问题相关。。。。我在问题中添加了更多信息。。。也许这会有帮助。。x(您正在使用哪个版本的SP?代码在哪个上下文(web应用程序、web服务、eventhandler、控制台等)中运行?是否存在“状态”和“原因”列?抱歉,问题中的更多详细信息。。。