'stream.ReadTimeout'引发了类型'System.InvalidOperationException'的异常,将照片发送给电报机器人

玛丽安·加法里尼亚(Maryam Ghafarinia)

我在下面编写了将照片发送到我的机器人的代码,但是在我的信息流中,我有两个读写例外,并且我的照片未发送。

我认为原因可能是此错误,但我无法解决:

stream.ReadTimeout 引发类型为'System.InvalidOperationException'的异常

using (var stream = System.IO.File.Open("a.jpg", FileMode.Open))
{
    var fileToSend = new FileToSend("a.jpg", stream);
    Task.Run(() => bot.SendPhotoAsync(u.Message.Chat.Id, fileToSend).ConfigureAwait(false));
}
雷内·沃格特

这样做的原因的例外是,你可能Disposestream开始任务后,立刻。

using语句调用Disposestream实例时执行离开此块。您可以删除此using语句,或者-如果您的方法已经是async-您可以简单地await调用SendPhotoAsync()没有理由使用另一个线程Task.Run()

using (var stream = System.IO.File.Open("a.jpg", FileMode.Open))
{
    var fileToSend = new FileToSend("a.jpg", stream);
    await bot.SendPhotoAsync(u.Message.Chat.Id, fileToSend).ConfigureAwait(false);
}

编译器为此await调用创建的状态机要确保仅在返回由by完成后才执行语句finallyusingstream.Dispose()将在此处调用)TaskSendPhotoAsync

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章