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