Information Management Policy in SharePoint一个晦涩难解的难题,但这绝对让我发疯: 我正在MOSS中创建自定义信息管理策略。我已经实现了IPolicyFeature,并且我的策略功能通过配置新的SPItemEventReceiver来愉快地注册自己。我的图书馆中的所有新项目都会按应有的方式触发事件,并且一切正常。
IPolicyFeature还具有ProcessListItem方法,该方法应将策略追溯应用于库中已有的项目(至少,只要保持返回 它似乎并没有引发异常,并且确实从处理第一个项目返回了true,而且我想不出还要看什么。任何人? 编辑:下面的科里(Cory)的答案将我置于正确的轨道上。确实确实有其他失败–我没有发现什么,因为我的windbg-fu不是应该的,但是我怀疑这有点像"在迭代过程中修改集合"。我的代码是修改传递到ProcessListItem的SPListItem,然后在其上调用SystemUpdate。一旦我更改了代码,使其创建了自己的变量(指向完全相同的SPListItem)并使用了该变量,问题就消失了…… 我只想尝试几件事。首先,您是否正在开发使用Visual Studio进行调试的工具箱?因此,只需逐步执行即可。 假设情况并非如此-我要做的就是在我注册策略之前启动WinDBG并将其附加到进程中。启用首次机会异常,以便在它们发生时就中断。您可以通过在破解后发出命令" sxe clr"来做到这一点。这是有关WinDBG的更多信息: http://blogs.msdn.com/tess/archive/2008/06/05/setting-net-breakpoints-in-windbg-for-applications-that-c??rash-on-startup.aspx 然后,我要做的是监视是否会引发First Chance异常,并执行!PrintException来查看发生了什么。我的猜测是,某个地方引发了异常,导致该应用程序停止处理其他项目。 您的ProcessListItem的逻辑是什么样的?您是否尝试过只做一次true来确保它能正常工作? 那里有一些不错的主意,谢谢。 Visual Studio调试器没有显示异常(为了防万一,我将所有内容包装在try / catch块中),但我没有想到尝试使用Windbg ... |