継続的に実行するWebジョブを作成したいのですが、まずデバッグのためにローカルで実行してみます。私はVisual Studio 2015を使用していて、Azureストレージエミュレーターを実行しています(Visual StudioでAzure Webジョブのサンプルを実行できます)。これを実行すると、新しいJobHost()行で失敗します。
例外:値をnullにすることはできません。パラメータ名:メソッド
static void Main()
{
var Host = new JobHost();
Host.CallAsync(typeof(Functions).GetMethod("GetNextJob"));
// The following code ensures that the WebJob will be running continuously
Host.RunAndBlock();
}
[NoAutomaticTriggerAttribute]
public static async Task GetNextJob()
{
while(true)
{
try
{
var log = new Logger();
log.WriteInfo("Getting next job to be run", 0, 0, "Brain");
//Console.WriteLine("Getting new Job and putting to que");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
await Task.Delay(TimeSpan.FromSeconds(5));
}
}
継続的に実行されているジョブをローカルで実行することもできますか?
Azure Webジョブは通常、単なるコンソールアプリケーションです。他のコンソールアプリケーションをデバッグ、テスト、実行するのと同じように、ローカルで実行できます。 Azure WebJobs SDK を取得し、チュートリアル Azure App Serviceで.NET WebJobを作成する を実行することをお勧めします。