いつも、このフォーラムを参考にさせて頂いております。
現在、リストアイテム更新時にイベントレシーバーのItemUpdatedメソッドが実行されるリストを作成しています。
このリストアイテムに対して、ユーザーがブラウザから更新するケースと
バッチ処理から更新するケースと存在するのですが、
ItemUpdatedメソッドの中で、どちらの処理で更新されたのか判断する方法はありますでしょうか?
バッチ処理による更新処理は「SPSecurity.RunWithElevatedPrivileges」メソッドを使用し、
システムアカウントで処理を行うので、ItemUpdatedイベント引数のproperties.UserLoginNameはSHAREPOINT\systemとなります。
しかし、ブラウザにサインインするアカウントがアプリケーションプールのカスタムアカウントの場合は
サインイン時のアカウント名がシステムアカウントとなるため、アカウント名では判断できません。
リストに隠し列を設定し、バッチ処理時に隠し列に値を設定するという方法は
現在考えてはおりません。
その他、何か良い方法がございましたら
ご教授のほど、宜しくお願いいたします。