首页 > 其他分享 >将.NET Core项目部署到Azure WebJob - Azure SDK

将.NET Core项目部署到Azure WebJob - Azure SDK

时间:2024-01-19 09:37:03浏览次数:16  
标签:Core WebJob WebJobs Azure using Microsoft 运行

前提条件

  1. 已经完成了前四篇文章中的所有步骤。
  2. 安装了Microsoft.Azure.WebJobsMicrosoft.Azure.WebJobs.Extensions包。

创建WebJob

在你的项目中,创建一个新的类:SayHelloWebJob

SayHelloWebJob类中,添加以下代码:

using Microsoft.Azure.WebJobs;
using System;

public class SayHelloWebJob
{
  [Singleton]
  public static void TimerTick([TimerTrigger("0 ")]TimerInfo myTimer)
  {
    Console.WriteLine($"Hello at {DateTime.UtcNow.ToString()}");
  }
}

这个代码定义了一个WebJob,它将在每分钟的开始时运行,并输出当前的UTC时间。

修改Main函数

在你的Program.cs文件中,修改Main函数如下:

using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Hosting;

class Program
{
  static void Main()
  {
    var host = new HostBuilder()
    .ConfigureWebJobs(b =>
    {
    b.AddAzureStorageCoreServices();
    b.AddAzureStorage();
    b.AddTimers();
    })
    .Build();

    host.Run();
  }
}

这个代码创建了一个新的Host,并配置了WebJobs以使用Azure Storage和Timers。

使用注意事项

  1. Singleton属性确保了在任何时候只有一个TimerTick方法的实例在运行。这对于避免并发问题非常有用。

  2. TimerTrigger属性定义了一个CRON表达式,它描述了WebJob的运行时间表。

  3. TimerInfo参数提供了关于触发器的信息,例如是否是第一次运行,是否是最后一次运行等。

  4. 你可以在TimerTick方法中添加任何你想要的代码。但是,请注意,这个方法的运行时间应该小于你的CRON表达式的间隔,否则可能会导致并发问题。

  5. HostBuilder是用来创建和配置一个Host的。Host是WebJobs的运行环境,它包含了所有的服务和配置。

  6. AddAzureStorageCoreServicesAddAzureStorage是用来配置WebJobs以使用Azure Storage的。Azure Storage是WebJobs的默认存储后端,它用来存储WebJobs的状态和日志。

  7. AddTimers是用来配置WebJobs以使用Timers的。Timers是WebJobs的一个扩展,它提供了基于时间的触发器。

标签:Core,WebJob,WebJobs,Azure,using,Microsoft,运行
From: https://www.cnblogs.com/MrChuJiu/p/17973910

相关文章

  • 将.NET Core项目部署到Azure WebJob - CRON
    前提条件已经完成了前三篇文章中的所有步骤。学习CRON表达式CRON表达式是一种强大的工具,可以用来描述时间表。你可以使用CRON表达式来配置你的WebJob在特定的时间运行。我推荐你访问这个网站来学习CRON表达式:https://www.baeldung.com/cron-expressions创建settings.job文件......
  • Asp .Net Core 系列:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现
    目录简介什么是Ocelot?什么是Nacos?什么是Swagger?什么是Cors?Asp.NetCore集成Ocelot网关集成Nacos下游配置Nacos配置跨域(Cors)网关和微服务中配置Swagger效果简介什么是Ocelot?Ocelot是一个开源的ASP.NETCore微服务网关,它提供了API网关所需的所有功能,如路由、......
  • 将.NET Core项目部署到Azure App Service
    步骤1:创建ASP.NETCoreWeb应用首先,确保你已经安装了.NETCoreSDK。dotnetnewwebapp-nAzureSampleAppcdAzureSampleApp这将创建一个新的ASP.NETCoreWeb应用,并将目录更改为新创建的应用目录。步骤2:一个简单的首页编辑Pages/Index.cshtml文件,添加一些内容来展......
  • .NET Core如何调SAP接口-.NET Core如何调WebService接口
     情况说明 客户提供一个SAP接口,接口通过浏览器可以打开查看,如下图: 输入帐号密码后登录: 接口开发连接接口服务上述情况,SAP接口已就绪,现在开始开发接口调用。首先,创建.NETCoreWeb项目,然后如下图,连接接口服务。           创......
  • .net 温故知新【17】:Asp.Net Core WebAPI 中间件
    一、前言到这篇文章为止,关于.NET"温故知新"系列的基础知识就完结了,从这一系列的系统回顾和再学习,对于.NETcore、ASP.NETCORE又有了一个新的认识。不光是从使用,还包括这些知识点的原理,虽然深入原理谈不上,但对于日常使用也够了,我想的是知其然,知其所以然。在实际开发过程中可能......
  • 【Azure Function】在Function执行中遇见Timeout错误
    问题描述在Function执行中遇见Timeout错误: Microsoft.Azure.WebJobs.Host.FunctionTimeoutException/Timeoutvalueof00:30:00wasexceededbyfunction/Functions.TimerTrigger_UdeskContact    asyncMicrosoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryHandl......
  • 【Azure Function】在Function执行中遇见Timeout错误
    问题描述在Function执行中遇见Timeout错误: Microsoft.Azure.WebJobs.Host.FunctionTimeoutException/Timeoutvalueof00:30:00wasexceededbyfunction/Functions.TimerTrigger_UdeskContact    asyncMicrosoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryHa......
  • 前后端分离,Asp.net core webapi 简单 2 步,轻松配置跨域
    前言可以说,前后端分离已经成为当今信息系统项目开发的主流软件架构模式,微服务的出现,让前后端分离发展更是迅速,大量优秀的前端框架如vue.js、react的出现,也让前后端分离趋势加快。所谓的前后端分离软件架构模式,就是指将前端和后端的开发完全分离,后端负责提供API接口和数据处理......
  • C# 自定义日志中间件 ASP.NET Core Web API
    自定义日志中间件usingMicrosoft.AspNetCore.Builder;usingMicrosoft.AspNetCore.Http;usingMicrosoft.AspNetCore.Http.Extensions;usingMicrosoft.Extensions.DependencyInjection;usingMicrosoft.Extensions.Logging;usingNewtonsoft.Json;usingSystem;usingS......
  • C# 下载文件 (ASP.NET Core Web API )
    usingMicrosoft.AspNetCore.Mvc;usingSystem.IO;usingMicrosoft.AspNetCore.Hosting;usingMicrosoft.AspNetCore.Authorization;usingMicrosoft.Extensions.Logging;usingMicrosoft.AspNetCore.StaticFiles;usingSystem.Threading.Tasks;namespaceFCore.Saas.......