SharePoint 2007 の spfile オブジェクトの checkincomments で問題が発生しました。itemadding、itemadded、itemupdating、itemupdated イベントレシーバーのカスタム contenttypes とカスタム コードを含むカスタム doclib の checkincomments は保存されません。
この問題に関する次のリンクを見つけました http://social.technet.microsoft.com/Forums/en-SG/sharepointgeneral/thread/e7c42f6b-1dab-419a-aee6-010845b31ea0
および http://www.theblackknightsings.com/HowToChangeCheckinCommentAfterSave.aspx
しかし、データベースに直接変更を加えたくないので、最後のリンクソリューションを試していません。
itemupdating イベントでは、properties.AfterProperties["vti_sourcecontrolcheckincomment"] でコメントを取得できます。itemupdated では、このプロパティは空です。
したがって、最初の lik に従って、itemupdating のカスタム コンテンツ フィールドの 1 つにコメントを保存し、itemupdated でそこから取得し、イベント発生を無効にして file.CheckIn("mycomment", SPCheckinType.OverwriteCheckIn) を作成します。
ドキュメント ライブラリにファイルを 2 回アップロードし、バージョンを 1 つ増やす (メジャー バージョン管理を有効にする) と、itemupdating と itemupdated が 2 回発生します。
2 番目の itemupdating の後、非同期の itemupdated の準備ができていないようで、ファイルが現在自分で使用されているという情報を取得します。したがって、更新は失敗します。
カスタム ドキュメント ライブラリの checkincomments が正しく保存されていることを確認する簡単な方法はありますか?
イベントが 2 回目に発生した場合の解決策は何ですか?
どんな助けでも素晴らしいでしょう!