.net核心天蓝色WebJob 3.0.3 UseTimers丢失

时间:2018-12-26 03:05:18

标签: c# azure-webjobs azure-webjobssdk azure-webjobs-triggered

我正在尝试使用.net core 2.1设置新的webjob,但是遇到一个问题,当我尝试配置作业时,UseTimers()似乎丢失了。

在我的一生中,我似乎找不到任何指向我正确方向的东西,因为文档似乎并未进行更新以反映使用HostBuilder而不是JobHostConfiguration

我什至尝试查找WebJobs扩展的源,但似乎找不到任何帮助,现在我很茫然。

我有以下内容很简单,但这仅在我不包括.UseTimers()

时有效
using System.Threading.Tasks; 
using Microsoft.Extensions.Configuration; 
using Microsoft.Extensions.Hosting; 
using Microsoft.Extensions.Logging; 
using Microsoft.Azure.WebJobs; 
using Microsoft.Azure.WebJobs.Extensions;

namespace marqueone.webjob 
{
    class Program
    {
        public static async Task Main(string[] args)
        {

            var builder = new HostBuilder()
            .UseEnvironment("Development")
            .ConfigureWebJobs(b =>
            {
                b.AddAzureStorageCoreServices()
                .AddAzureStorage();
            })
            .ConfigureAppConfiguration(b =>
            {
                b.AddCommandLine(args);
            })
            .ConfigureLogging((context, b) =>
            {
                b.SetMinimumLevel(LogLevel.Debug);
                b.AddConsole();
            })
            //.UseTimers()
            .UseConsoleLifetime();

            var host = builder.Build();
            using (host)
            {
                await host.RunAsync();
            }
        }
    } 
}

1 个答案:

答案 0 :(得分:2)

根据此link,应使用.AddTimers(),如以下代码所示:

.ConfigureWebJobs(config =>
{
    config.AddAzureStorageCoreServices();
    config.AddTimers();
})

在此link中,它也解释了:

 in general all the previous config.UseXXX extension methods migrated to 

IHostBuilder builder.AddXXX methods.