0

我在 asp.net core 3.1 应用程序中使用Channelsystem.threading.channels我不断地写入通道并从中读取。

当我从 中读取项目时channel,我正在调用数据库来保存该项目。

问题是,如果数据库调用失败,我可以移动到 item back tochannel重新读取它吗?

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) {}
}
4

0 回答 0