0

SPItemEventReceiver を継承してカスタム コードを ItemAdded メソッドに追加する機能を作成しました。このソリューションは意図したとおりに機能しますが、1 つのシナリオを除きます。「Windows エクスプローラー」で 2 つのドキュメント ライブラリを開き、ファイルを 1 つのライブラリから別のライブラリにドラッグすると、カスタム コードがたまにしか実行されません。

この挙動を調べるためにデバッグしてみましたが、毎回カスタムコードが実行されてしまいます。

この手順を使用して、properties.ListItem が null になるのを回避しました

何が原因なのか、何か考えはありますか?

4

2 に答える 2

0

問題の原因はわかりませんが、ItemAdded メソッドに次の行を追加した後、動作します。

    System.Threading.Thread.Sleep(200);
于 2012-06-11T07:31:42.410 に答える
0

ItemAdded イベントは非同期イベントです。これは、前の操作がまだ完全に完了していない可能性があることを意味します。タイミングの問題であるため、デバッグ モードで常に動作する可能性があります。このブログで説明されているように、itemAdding イベントまたは回避策を試すことができます。

于 2012-06-11T07:57:38.517 に答える