堆栈在Bot框架中是空例外

时间:2018-03-20 15:14:19

标签: c# botframework

我通过Bot Framework创建了一个聊天机器人,我实现了一个重置​​选项,以便删除对用户的对话e授权以开始新的对话。

// MessageController.cs
public async Task Post([FromBody]Activity activity)  
{  
  await Conversation.SendAsync(activity, () => new RootDialog().DefaultIfException());  
  return Request.CreateResponse(HttpStatusCode.OK);  <- Stack is empty Exception
} 
// RootDialog.cs
private void ShowMenuOptions(IDialogContext context)      
{    
    var optionList = new List<string>() { "Info", "Support", "Reset" };
    string prompt ="How can I help you?";    

    PromptDialog.Choice(context, this.OnOptionSelected, (IEnumerable<string>)optionList, 
        prompt, retry, attempts);
}    

private async Task OnOptionSelected(IDialogContext context, IAwaitable<string> result) 
{    
    try    
    {    
        string optionSelected = await result;    

        switch (optionSelected)    
        {    
            case "Reset":    
                context.Reset();    
                context.ConversationData.Clear();    
                context.PrivateConversationData.Clear();    
                context.UserData.Clear();    
                break;    
        }    
    }    
}    

当用户选择重置选项时,机器人回答“抱歉,我的机器人代码有问题”。 调试代码我发现异常在context.Reset()。

之后触发

有人可以帮我解决吗?

0 个答案:

没有答案