1

我正在开发一个 .NET 核心应用程序并使用学习储物柜。我正在使用 TinCan API 与学习储物柜进行通信。我用于创建学习更衣室语句的演员的代码是:

public Agent MakeActor(bool anonymous)
{
    return new Agent
    {
        name = anonymous ? AnonymousUser : UserName,
        account = new AgentAccount
        {
            name = anonymous ? AnonymousUser : UserId.ToString(),
            homePage = new Uri(StringHelper.ResolveHostName(Name,AwsDefines.AwsDomain))
        }
    };
}

现在我还必须在记录中添加用户电子邮件地址。我从谷歌得到的是演员中有一个“mbox”字段,可用于添加电子邮件地址。所以我更新了我的代码:

public Agent MakeActor(bool anonymous)
{
    return new Agent
    {
        name = anonymous ? AnonymousUser : UserName,
        mbox = UserEmailAddress,
        account = new AgentAccount
        {
            name = anonymous ? AnonymousUser : UserId.ToString(),
            homePage = new Uri(StringHelper.ResolveHostName(Name,AwsDefines.AwsDomain))
        }
    };
}

现在我在演员的 mbox 字段中有我的电子邮件地址,但是当我保存语句并在学习储物柜中看到它时,“mbox”字段没有保存,“mbox”字段甚至不存在演员。

他将不胜感激任何帮助。

4

1 回答 1

0

account属性和mbox都是 IFI(反向功能标识符),因此需要在代理对象中是唯一的。

An Agent MUST NOT include more than one (1) Inverse Functional Identifier;

(参考:https ://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#2421-when-the-actor-objecttype-is-agent )

于 2021-11-05T14:02:50.053 回答