0
我上传图片并使用与DownloadData Web客户端来获取字节数组,但现在我抛出一个异常:WebClient.DownloadData抛出以BOT框架异常
Exception: State size exceeded configured limit.
[File of type 'text/plain']
我还没有发现这样的行为之前与完全相同的图像。什么可能出错?
private async Task SendPhoto_ActivityReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
Activity activity = await result as Activity;
Activity activityReply = activity.CreateReply();
if (0 < activity.Attachments?.Count)
{
if (activity.Attachments.FirstOrDefault().ContentType.Equals("image/jpg") ||
activity.Attachments.FirstOrDefault().ContentType.Equals("image/jpeg") ||
activity.Attachments.FirstOrDefault().ContentType.Equals("image/png") ||
activity.Attachments.FirstOrDefault().ContentType.Equals("image/tiff"))
{
picImage = activity.Attachments.FirstOrDefault().Name;
HttpClient httpClient= new HttpClient();
picImageFile = await httpClient.GetByteArrayAsync(activity.Attachments.FirstOrDefault().ContentUrl);
await context.PostAsync("Want to send another?");
context.Wait(SendAnotherImage_ActivityReceivedAsync);
}
}
}
UPDATE:改变了Web客户端来HttpClient.GetByteArrayAsync和问题依然存在。 在执行PostAsync之后,Bot仿真器中出现异常
看看https://stackoverflow.com/questions/46527098/botframework-state-size-exceeded-configured-limit – GrandMasterFlush
你需要附上完整的堆栈跟踪。我怀疑DownloadData会抛出这个异常。它应该是一些Bot框架代码,例如PostAsync。 – Evk
顺便说一句,你可以用'activity.Attachments?.Any()'替换'0
aloisdg