代码之家  ›  专栏  ›  技术社区  ›  Hopeless

IOPTONS监测器。ASP中的OnChange和异步侦听器。净核心

  •  0
  • Hopeless  · 技术社区  · 6 年前

    我有一个班级注册为独生子女。在这个类的构造函数中,我订阅了IOptonsMonitor。变更后:

    class Test
    {
        public Test(IOptionsMonitor<MyOptions> myOptionsMonitor)
        {
            myOptionsMonitor.OnChange(async options => await SomeWork());
        }
    
        public async Task SomeWork()
        {
            await Task.Delay(TimeSpan.FromSeconds(30));
        }
    }
    

    在这种情况下,一些工作任务实际上会“启动并忘记”,这可能是错误的。另一种方法是同步运行一些工作:

    myOptionsMonitor.OnChange(options => SomeWork().GetAwaiter().GetResult());
    

    但在这种情况下,OnChange将被阻止执行一段时间。

    0 回复  |  直到 6 年前
    推荐文章