這是我第一次完成WebJob類型的應用程序。我創建了一個webjob項目,並在解決方案中提供Program.cs
和Function.cs
。Azure WebJob最佳方法
我已經刪除了Function.cs
因爲在這個項目中沒有隊列我會從中獲取數據。
現在Program.cs
已經有主方法如下所示:
class Program
{
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
static void Main()
{
var host = new JobHost();
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
據我所知,這是RunAndBlock
連續運行的webjob,但我希望作業只運行一次。我想按照時間表從外部控制執行。我想知道如何讓我的代碼只運行一次? 如下所示,我有一個SupportService
類,它有RunOnePoolProvisioingCycle
,我只想調用這個方法一次。 這是正確的做法嗎?
static void Main()
{
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
_supportService.RunOnePoolProvisioningCycle();
}
還是這個?
static void Main()
{
var host = new JobHost();
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
host.Call(typeof(SupportService).GetMethod("SetPoolProvisioningConfigurations"));
}
or this one?
static void Main()
{
var host = new JobHost();
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
host.CallAsync(typeof(SupportService).GetMethod("SetPoolProvisioningConfigurations"));
}
,或者我應該使用:
host.Start()
或
host.StartAsync()?
我相信這裏的所有答案都是正確的,因爲我的問題是關於方法。但我必須選擇一個。 本說明適用於任何正在查看此帖的人。 –