本文介绍了聊天机器人异常:OnTurnAsync异常--操作返回无效状态代码&;#39;错误请求&;#39;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
只有在我将我的机器人部署到Azure Web应用程序并尝试在Azure门户网络聊天中进行测试后,我才收到这个错误。但是我的机器人在我本地机器上的机器人模拟器中工作正常。
我不确定这是否是由于分配给我的Azure角色造成的。我分配的角色显示为"有限贡献者"。我可以创建任何资源并将我的聊天机器人部署到Azure。因此,我不确定这是否与我的"有限参与者"角色有关。
下面是抛出异常的代码行(用红色标记):
Exception OnTurnAsync exception inner ex.Message:
Operation returned an invalid status code 'BadRequest' ex:
Microsoft.Bot.Schema.ErrorResponseException: Operation returned an invalid status code 'BadRequest'
at Microsoft.Bot.Connector.Conversations.ReplyToActivityWithHttpMessagesAsync(String conversationId, String activityId, Activity activity, Dictionary`2 customHeaders, CancellationToken cancellationToken)
at Microsoft.Bot.Connector.ConversationsExtensions.ReplyToActivityAsync(IConversations operations, String conversationId, String activityId, Activity activity, CancellationToken cancellationToken)
at Microsoft.Bot.Builder.BotFrameworkAdapter.SendActivitiesAsync(ITurnContext turnContext, Activity[] activities, CancellationToken cancellationToken)
at Microsoft.Bot.Builder.TurnContext.<>c__DisplayClass22_0.<<SendActivitiesAsync>g__SendActivitiesThroughAdapter|1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.Bot.Builder.TurnContext.SendActivityAsync(IActivity activity, CancellationToken cancellationToken)
at AbcChatBot.Bots.AbcsBot.OnMessageActivityAsync(ITurnContext`1 turnContext, CancellationToken cancellationToken)
如有任何建议来解决或确定我收到"BadRequest"的原因,我们将不胜感激。
推荐答案
此错误的根本原因是
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
var reply = new Activity(); //this line caused the error
……..
}
所以我将代码从
var回复=新活动();
至
Var回复=turnContext.Activity.AsMessageActivity();错误消失。
我仍然不知道为什么异常从onTurnAsync引发,而实际问题在OnMessageActivityAsync中引发
这篇关于聊天机器人异常:OnTurnAsync异常--操作返回无效状态代码&;#39;错误请求&;#39;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!