4

Pagesライブラリで使用される特定のコンテンツタイプのアイテムイベントレシーバーがあります。イベントロガーを使用してデバッグしていますが、ページを編集して公開するたびに、ItemUpdating3つと3つItemUpdatedのイベントが発生することがわかります。その特定の時間に他のページが保存されていないことは確かです。

これの原因は何ですか?ページの公開ごとに1つのイベントのみをトリガーするように「修正」する方法はありますか?

または、最後のイベント(つまり、ページが公開されているか公開されている)を他のイベントと区別する方法があるので、コードを3回実行することになりませんか?

4

2 に答える 2

2

結局のところ、ユーザーが [公開] をクリックしたときにページが実際に 3 回保存されていたためです。

  1. ドキュメントが保存されます。
  2. ドキュメントがチェックインされます。
  3. ドキュメントが公開されます。

これらのそれぞれがItemUpdatedandItemUpdatingイベントをトリガーします。

于 2010-11-24T11:53:49.540 に答える
1

DisableEventFiring()メソッドを使用して、他のイベントが発生しないようにします。EnableEventFiring()を介して再度有効にすることを忘れないでください。お役に立てれば。

于 2010-11-22T18:06:25.213 に答える