3
我创建了一个事件接收器来处理一个文档库中的ItemAdded和ItemUpdating事件在SharePoint 2010ItemUpdating事件接收器ItemAdded后叫了两声
我遇到一个问题,当我添加一个文件该库(例如通过将其从Word中保存)正确调用ItemAdded方法,但随后会对ItemUpdating执行两次调用。我已经从我的处理程序中删除了所有代码,以确保它不是我在里面造成问题的东西。他们字面上看起来像:
public override void ItemUpdating(SPItemEventProperties properties)
{
}
public override void ItemAdded(SPItemEventProperties properties)
{
}
有没有人有解决这个问题?
这里是事件接收我的Elements.xml文件:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="101">
<Receiver>
<Name>DocumentsEventReceiverItemUpdating</Name>
<Type>ItemUpdating</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>My.Namespace.DocumentsEventReceiver</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
<Receiver>
<Name>DocumentsEventReceiverItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>My.Namespace.DocumentsEventReceiver</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
</Elements>
我的if语句与您的语句不完全相同,但我可以使用您提到的字段。在我的实际更新期间,vti_sourcecontrolcheckedoutby的前后属性始终为空,所以我可以检查它。在ItemAdded后调用ItemUpdating时,两者都填充了我的用户名 – Jason 2012-04-05 08:12:52
ok.finally现在是否解决了您的问题? – Jigs 2012-04-05 08:26:14
是的谢谢! ItemUpdating仍然会触发,但if语句让我确定是否真的运行我的代码 – Jason 2012-04-05 09:49:17