【发布时间】:2018-12-05 10:02:33
【问题描述】:
使用:
- SDK 语言:C#
- SDK 版本:4.1.5
- 环境:本地主机、Azure
- 频道:网络聊天
问题描述
在 Bot Framework Emulator V4 中测试机器人时,它确实按预期工作,如下图所示:
按照this 说明在 Azure 中部署后,机器人停止工作(既不发送也不接收消息)并在网络聊天频道部分收到此警报:
我发现了这些类似的问题:
https://github.com/Microsoft/BotFramework-Emulator/issues/296
https://github.com/Microsoft/BotBuilder/issues/3329
但在我的情况下,AppId 和 Password 都已定义,而其他解决方案根本不起作用。 我什至设法在 azure 平台上找到了错误代码,但我无法找到详细信息或错误的来源......
代码概览
public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
{
bool reintentar = false;
//tried this but didn't work
//MicrosoftAppCredentials.TrustServiceUrl("http://botrps.azurewebsites.net");
//obtener el contexto de los dialogos
var dc = await _dialogs.CreateContextAsync(turnContext, cancellationToken);
if (turnContext.Activity.Type == ActivityTypes.Message && turnContext.Activity.From.Id != turnContext.Activity.Recipient.Id)
{
//bot operations on users messages
}
//if active dialog
await dc.ContinueDialogAsync(cancellationToken);
//else, start greeting dialog
if (turnContext.Activity.Type == ActivityTypes.ConversationUpdate &&
turnContext.Activity.MembersAdded[0].Id != turnContext.Activity.Recipient.Id)
{
await dc.BeginDialogAsync("dialogo", null, cancellationToken);
}
await _accessors.ConversationState.SaveChangesAsync(turnContext, false, cancellationToken);
// Guarda los cambios realizados en el Contexto, si hay alguno
await _accessors.UserState.SaveChangesAsync(turnContext, false, cancellationToken);
}
【问题讨论】:
-
您是否已将生产端点添加到您的机器人文件中?
-
点击日志中
invalidOperationException的“计数”(应用洞察?)是否会显示任何类型的堆栈跟踪? -
谢谢你的答案。添加生产端点后,该机器人在网络聊天和 Skype 中似乎都可以正常工作。顺便说一句,我意识到它在没有“abs”服务的情况下工作。还需要指定吗?
-
不,没有必要指定“abs”服务,因为生产端点指向它。很高兴我能帮上忙。
标签: c# azure botframework