2

すべてのアクティビティのアクティビティ インスタンスの詳細を取得するイベント ハンドラーを作成しています。

EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(NotifyUser, EventPhases.TransactionCommitted);

「NotifiyUser」関数で、(タイトル、FinishMessage、所有者、実行者などの) アクティビティ インスタンスの詳細を取得しようとしています。

「手動アクティビティ」の「自動アクティビティ」のすべての詳細を取得できますが、「所有者」と「実行者」の値を取得できません。

private void NotifyUser(ActivityInstance activityInstance, FinishActivityEventArgs args, EventPhases phase)
    {
        _session = activityInstance.Session;
       logdetails("Activity Owner--->" + activityInstance.Owner.Title);
        foreach (var performer in activityInstance.Performers)
        {
           logdetails("Activity Performer--->" + performer.Title);
        }
    }
4

1 に答える 1

3

これはかなり奇妙で、再現できません。

私のコードでは、これを行いました(あなたと同じサブスクリプション)

private void LogSomething(ActivityInstance instance, FinishActivityEventArgs args, EventPhases phases)
{
    User owner = instance.Owner;
    File.AppendAllLines("c:\\temp\\info.log", new[]
        {
            string.Format("Activity ID: {0} owned by: {1}({2}", instance.Id, owner.Title, owner.Id)
        });
    List<User> performers = new List<User>(instance.Performers);
    foreach (var performer in performers)
    {
        File.AppendAllLines("c:\\temp\\info.log", new[]
            {
                string.Format("Activity ID: {0} Performer: {1}({2}", instance.Id, performer.Title, performer.Id)
            });
    }
}

私の粗雑なログについてお詫び申し上げます。

これは私がinfo.logに得るものです:

Activity ID: tcm:3-923-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-923-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-924-131104 owned by: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-924-131104 Performer: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-925-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-925-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-926-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-926-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-927-131104 owned by: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-927-131104 Performer: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-928-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-928-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552

それで、これはあなたの環境に関係があるように見えますか?多分特定のバージョンの欠陥?Hotfix Rollup 1を適用したSDL Tridion 2011 SP1を使用しています

于 2012-07-31T06:26:03.433 に答える