- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用虚假消息测试 IDialog 流程,因此:
var toBot = new Message()
{
ConversationId = Guid.NewGuid().ToString(),
Text = "Test",
};
Func<IDialog<T>> MakeRoot = () => testDialog;
toBot.From = new ChannelAccount(Guid.NewGuid().ToString());
toBot.To = new ChannelAccount(Guid.NewGuid().ToString());
当它遇到 PromptDialog.Confirm 时,它会抛出“Microsoft.Bot.Builder.dll 中的 Microsoft.Rest.HttpOperationException(“拒绝访问”)”异常。
如果我不创造
toBot.From = new ChannelAccount(Guid.NewGuid().ToString());
它为 ChannelId 抛出 System.NullReferenceException。
PromptDialog.Confirm 看起来像这样:
PromptDialog.Confirm(context, AfterErrorConfirmationAsync, Strings.ConfirmError,
Strings.InvalidInput);
我该如何解决这个问题?
最佳答案
问题是这样引起的:
await context.PostAsync(replyMessage);
PromptDialog.Confirm(context, AfterErrorConfirmationAsync, Strings.ConfirmError,
Strings.InvalidInput);
在向用户发布消息后立即出现确认对话框会导致异常和随后的测试失败。但是它在运行时并没有抛出这个异常。
我通过将回复消息与确认字符串组合如下解决了上述问题:
PromptDialog.Confirm(context, AfterErrorProcessingAsync, replyMessage + "\n\n" + Strings.ConfirmError,
Strings.InvalidInput);
如果有人有更好的解决方法,请留下这个问题。
关于c# - Microsoft.Bot.Builder.dll ("Access Denied"中的 Microsoft.Rest.HttpOperationException)在测试 PromptDialog.Confirm 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37284109/
当我尝试向我的 Azure REST API 应用程序发布帖子时,出现以下错误: Exception: Exception caught: 'Microsoft.Rest.HttpOperationE
当我尝试向我的 Azure REST API 应用程序发布帖子时,出现以下错误: Exception: Exception caught: 'Microsoft.Rest.HttpOperationE
我正在我的应用程序中开发嵌入式 Power BI。当我从我的 Power BI 帐户访问报告时。我无法获得异常 REST API Azure 错误:“Microsoft.Rest.HttpOperat
我正在尝试使用虚假消息测试 IDialog 流程,因此: var toBot = new Message() { ConversationId
我是一名优秀的程序员,十分优秀!