Azure WebJobs useTimers 方法在 .net core 2.0 中不可用
Azure WebJobs useTimers method not available in .net core 2.0
我在 .net core 2 控制台应用程序中使用 Microsoft.azure.webjobs (3.0.0-beta1-10941)。目的是创建一个 azure web 作业,
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
config.UseTimer() 应该是 Microsoft.Azure.WebHost.Host 的引用,但它需要 2.1.0.0。如果我通过删除的 beta 版本 3.0.0-beta1-10941 添加它,那么 host.runandblock() 在 WindowsAzure.Storage 错误部署安装 edm、数据或 data.services.
时失败
我安装了依赖项,但仍然没有成功
我已将 windowsAzure.Storage 降级到低于 9 但同样的问题。
关于如何在 .net core 2.0 中解决 config.UseTimes() 的任何想法?
谢谢
Any ideas how to resolved config.UseTimes() in .net core 2.0?
在您的情况下,您可以使用 Microsoft.Azure.WebJobs.Extensions 版本 3.0.0-beta4。
我也为它做了一个演示。以下是详细步骤。
1.Create net core 2.0 控制台应用程序。
2.Add Program.cs 文件中的以下代码。
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
config.UseTimers();
config.DashboardConnectionString ="storage connectionstring";
config.StorageConnectionString = "storage connectionstring";
var host = new JobHost(config);
host.RunAndBlock();
3。将 Functions.cs 文件添加到项目中。
public class Functions
{
public static void CronJob([TimerTrigger("0 */1 * * * *")] TimerInfo timer)
{
Console.WriteLine("Cron job fired!");
}
}
4。在我这边测试一下。
勾选documentation。有 2.x 和 3.x 的解决方案。
对于3.x可以使用“b.AddTimers();”示例:
static async Task Main()
{
var builder = new HostBuilder();
builder.UseEnvironment(EnvironmentName.Development);
builder.ConfigureLogging((context, b) =>
{
b.AddConsole();
});
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddAzureStorage();
b.AddTimers();
});
var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}
时间触发方法:(需要在static中class)
public static class TimeTrigger
{
// Runs once every 10 seconds
public static void TimerJob([TimerTrigger("00:00:10")] TimerInfo timer)
{
Console.WriteLine("Timer job fired!");
}
}
我在 .net core 2 控制台应用程序中使用 Microsoft.azure.webjobs (3.0.0-beta1-10941)。目的是创建一个 azure web 作业,
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
config.UseTimer() 应该是 Microsoft.Azure.WebHost.Host 的引用,但它需要 2.1.0.0。如果我通过删除的 beta 版本 3.0.0-beta1-10941 添加它,那么 host.runandblock() 在 WindowsAzure.Storage 错误部署安装 edm、数据或 data.services.
时失败我安装了依赖项,但仍然没有成功
我已将 windowsAzure.Storage 降级到低于 9 但同样的问题。
关于如何在 .net core 2.0 中解决 config.UseTimes() 的任何想法?
谢谢
Any ideas how to resolved config.UseTimes() in .net core 2.0?
在您的情况下,您可以使用 Microsoft.Azure.WebJobs.Extensions 版本 3.0.0-beta4。 我也为它做了一个演示。以下是详细步骤。
1.Create net core 2.0 控制台应用程序。
2.Add Program.cs 文件中的以下代码。
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
config.UseTimers();
config.DashboardConnectionString ="storage connectionstring";
config.StorageConnectionString = "storage connectionstring";
var host = new JobHost(config);
host.RunAndBlock();
3。将 Functions.cs 文件添加到项目中。
public class Functions
{
public static void CronJob([TimerTrigger("0 */1 * * * *")] TimerInfo timer)
{
Console.WriteLine("Cron job fired!");
}
}
4。在我这边测试一下。
勾选documentation。有 2.x 和 3.x 的解决方案。
对于3.x可以使用“b.AddTimers();”示例:
static async Task Main()
{
var builder = new HostBuilder();
builder.UseEnvironment(EnvironmentName.Development);
builder.ConfigureLogging((context, b) =>
{
b.AddConsole();
});
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddAzureStorage();
b.AddTimers();
});
var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}
时间触发方法:(需要在static中class)
public static class TimeTrigger
{
// Runs once every 10 seconds
public static void TimerJob([TimerTrigger("00:00:10")] TimerInfo timer)
{
Console.WriteLine("Timer job fired!");
}
}