3
我想安排一个功能,每分钟执行一次。这个方法调用一个HttpWebRequest的异步函数。我正在使用异步/等待策略:System.Threading.Timer与异步/等待重复卡住
var timer = new System.Threading.Timer(async (e) =>
{
RSSClient rss = new RSSClient(listBoxRSS);
RSSNotification n = await rss.fetch();
// ...
Console.WriteLine("Tick");
}, null, 0, 5000);
控制台打印“滴答”,但只有一次。看起来定时器由于某种原因卡住了。
取出异步/ AWAIT代码后计时器工作正常,但:
var timer = new System.Threading.Timer((e) =>
{
Console.WriteLine("Tick");
}, null, 0, 5000);
为何不重复,我怎么能实现使用System.Threading.Timer异步/ AWAIT策略?
你尝试把'尝试/ catch'你的计时器代码里面?也许它会在随后的调用中抛出异常。 –