如何解决如果数据库调用失败,我们可以将项目移回频道
我正在asp.net核心3.1应用程序中使用Channel
中的system.threading.channels
,在其中我不断地写入通道并从中读取内容。
当我从channel
中读取项目时,我正在进行数据库调用以保存该项目。
问题是,如果数据库调用失败,我可以移至channel
项以重新读取吗?
private static async Task Consume(ChannelReader<int> c)
{
try
{
while (true)
{
int item = await c.ReadAsync();
// process item to the database
//if database call fails,can we move the item back to Channel
}
}
catch (ChannelClosedException) {}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。