SharePoint2010のドキュメントライブラリでItemAddedイベントとItemUpdatingイベントを処理するイベントレシーバーを作成しました。
ドキュメントをライブラリに追加すると(たとえば、Wordから保存して戻すことにより)、ItemAddedメソッドが正しく呼び出されますが、その後にItemUpdatingが2回呼び出されるという問題が発生しました。問題の原因となっているのが内部で行っていることではないことを確認するために、ハンドラーからすべてのコードを削除しました。それらは文字通り次のようになります。
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>