为什么GetAsync方法抛出“ System.Collection.KeyNotFoundException”? (v4)

时间:2019-08-08 13:56:18

标签: c# botframework

我在整个对话框中始终收到此异常:

  

System.Collections.Concurrent.dll中的'System.Collections.Generic.KeyNotFoundException'

我发现这是由GetAsync方法引起的,但我不知道为什么。如果有人可以向我解释为什么抛出此异常以及避免该异常的可能方法,我将不胜感激。

我的代码:

protected override async Task OnMessageActivityAsync(
    ITurnContext<IMessageActivity> turnContext, 
    CancellationToken cancellationToken = default(CancellationToken))
{
    // ...

    var uAccessor = _userState.CreateProperty<UserProfile>(nameof(UserProfile));
    var userProfile = await uAccessor.GetAsync(turnContext, () => 
        new UserProfile(), cancellationToken); //throws an exception

    userProfile.UserInputs.Add(turnContext.Activity.Text?.Trim());
    await uAccessor.SetAsync(turnContext, userProfile, cancellationToken);

    // ...
}

0 个答案:

没有答案