none
SharePoint2010 ItemAddedイベントでSPFile.CheckOutStatusがShortTermのままになる RRS feed

  • 質問

  • たびたび投稿させていただきます。

    サーバがSharePoin2010の環境で、ItemAddedイベントを利用し、イベント内で文書に対して処理を行おうとしているのですが、
    ItemAddedイベント内で、SPFileのステータスをチェックすると、CheckOutStatusがShortTermのままになってしまいます。
    タイマーを利用しステータスが変更になるのを待っているのですが、1分近くたっても変更されません。

    Officeの問題かとも思い、いろんな環境で試したところ、Windows7上からの操作だとうまくいかないようです。
    どなたかこの現象についてご存知の方がいらっしゃいましたらお教えください。

    宜しくお願いします。

    2011年9月18日 2:25

回答

  • SharePoint2010から、SPCheckOutStatusは非推奨となっていますので、
    SPCheckOutTypeとSPLockTypeを用いましょう。
     
    そもそも、ShortTermが問題となっているという事は、
    ファイルに対して何か更新を行いたいという事ですか?
     
    その場合、イベントレシーバ内で対象ファイルを更新する処理は
    危険ですので、別手段を考えた方が良いと思います。
     
    # 一応、以下のようなコードを書く事もできますが。
    # this.EventFiringEnabled = false;
    • 回答としてマーク 山本春海 2011年10月5日 6:34
    2011年9月28日 4:12

すべての返信

  • SharePoint2010から、SPCheckOutStatusは非推奨となっていますので、
    SPCheckOutTypeとSPLockTypeを用いましょう。
     
    そもそも、ShortTermが問題となっているという事は、
    ファイルに対して何か更新を行いたいという事ですか?
     
    その場合、イベントレシーバ内で対象ファイルを更新する処理は
    危険ですので、別手段を考えた方が良いと思います。
     
    # 一応、以下のようなコードを書く事もできますが。
    # this.EventFiringEnabled = false;
    • 回答としてマーク 山本春海 2011年10月5日 6:34
    2011年9月28日 4:12

  • こんにちは、RKuma さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    その後いかがでしょうか。たけさと さんからの情報は確認されましたか?

    有効な情報をいただいているかと思われましたので、他の方にも情報を有効活用いただくため、勝手ながら私のほうで回答としてマークさせていただきました。
    たけさと さん、情報ありがとうございます。

    いただいた情報の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
    今後、同じ問題でこのスレッドを参照される方にも、有効な情報を活用いただけるかと思いますので、ご協力よろしくお願いいたしますね。

    今後とも、MSDN フォーラムをよろしくお願いいたします。それでは。
                                                                                                                                       
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年10月5日 6:34
  • たけさとさん

    ご連絡ありがとうございました。

    >SharePoint2010から、SPCheckOutStatusは非推奨となっていますので、
    そうなんですね。気づきませんでした。
    イベントレシーバー内で、列の属性を追加したり、ワークフローを開始したりと、いろいろなことをしようとしていたのですが、そもそもチェックの仕方が悪く、イベントレシーバーで取得したpropertyのオブジェクトをずっと参照していたために、ShortTermのままになっていたようです。
    イベントの中でスリープしたあと、リストアイテムを再取得したら、ステータスが変更された値が取得できました。
    ご指摘ありがとうございました。
    参考にさせていただきます。
    2011年11月4日 11:27