代码之家  ›  专栏  ›  技术社区  ›  Manic Lama

如何防止Azure WebJob在不使用JostHost或Azure存储帐户的情况下退出?

  •  0
  • Manic Lama  · 技术社区  · 7 年前

    我正在建立一个Azure WebJob,它可以持续为我做事情,但我很难阻止它退出。

    static void Main(string[] args)
    {   
       //Some other code/work
    
       JobHostConfiguration config = new JobHostConfiguration();
       config.DashboardConnectionString = null;
       new JobHost(config).RunAndBlock();       
    }
    

    如您所见,我目前正在尝试使用JobHost。RunAndBlock()方法来阻止我的作业退出。假设“一些其他代码/工作”立即将控制权返回给调用方,但确实需要应用程序稍后继续运行。

    那么,如果我不想创建Azure存储帐户或JobHost,我可以使用什么代码来阻止代码退出?

    1 回复  |  直到 7 年前
        1
  •  0
  •   rickvdbosch    7 年前

    在没有 JobHost

    static void Main(string[] args)
    {   
       //Some other code/work
    
        while (true)
        {
            Task.Delay(1000).Wait();
            //or
            Thread.Sleep(1000);
        }
    }
    

    根据功能的触发因素,您可以检查while循环中的时间/消息/要完成的工作/任何内容,并在必要时触发工作。

    进一步的改进可以是检查是否需要取消,如果需要,则优雅地退出循环。