IIS web应用的定时器生存时间
本文关键字:时间 定时器 web 应用 IIS | 更新日期: 2023-09-27 17:53:00
如果写数据库失败,我需要添加一个重试逻辑到web请求。我想在退出前再尝试两次,延迟500毫秒。在重试期间不需要阻止用户响应。我的问题是,一旦做出响应,计时器是否仍然活着以完成重试,还是在响应后立即被杀死?
为什么不使用async/await呢?这可能会使事情变得简单一些:
public SomeResult HandleWebRequest()
{
StartThing(); //not awaited - fire-and-forget
//return a response
}
public async void StartThing()
{
//await Task.Yield(); //return control to call site and finish asynchronously
for(var numTries = 0; numTries < 3; numTries++)
{
if(trySomethingThatMightNotWork)break;
await Task.Delay(5000);
}
}