当前位置: 首页 > news >正文

如何自己制作网页游戏seo关键词优化排名外包

如何自己制作网页游戏,seo关键词优化排名外包,网站所有人,wordpress login.php翻译自 Steve Gordon 2020年3月30日的文章 《WHAT ARE .NET WORKER SERVICES?》 [1]随着 .NET Core 3.0 的发布#xff0c;ASP.NET 团队引入了一个新的 Worker Service 项目模板#xff0c;该模板作为 .NET SDK 的一部分发布。在本文中#xff0c;我将向您介绍这个新模板ASP.NET 团队引入了一个新的 Worker Service 项目模板该模板作为 .NET SDK 的一部分发布。在本文中我将向您介绍这个新模板以及使用它开发的一些实际的服务示例。译者注请先完成以下准备工作以便于您理解本文。1、下载并安装最新的 .NET SDKhttps://dotnet.microsoft.com/download2、命令行运行 dotnet new Worker -n MyService 命令创建一个 Worker Service 项目。什么是 .NET Core Worker ServiceWorker Service 是使用模板构建的 .NET 项目该模板提供了一些有用的功能可以将常规控制台应用程序变得更加强大。Worker Service 运行于宿主(Host)的概念之上宿主维护应用程序的生命周期。宿主还提供了一些常见的特性如依赖注入、日志记录和配置。Worker Service 通常是长时间运行的服务执行一些规律发生的工作负载。§Worker Service 的一些例子处理来自队列、服务总线或事件流的消息、事件响应对象、文件存储中的文件更改聚合数据存储中的数据丰富数据提取管道中的数据AI/ML 数据集的格式化和清理还可以开发一个这样的 Worker Service该服务从头到尾执行一个过程然后关闭。结合调度程序便可以支持定期的批处理工作负载。例如调度程序每隔一小时启动一次服务完成一些汇总数据的计算然后关闭。Worker Service 没有用户界面也不支持直接的用户交互它们特别适用于设计微服务架构。在微服务体系结构中职责通常被划分为不同的、可单独部署的、可伸缩的服务。随着微服务架构的成长和发展拥有大量的 Worker Service 会变得越来越常见。Worker Service 模板提供了什么完全可以在不使用 Worker Service 模板的情况下开发长时间运行的 Worker Service。在 .NET Core 的早期版本中我是这样做的使用依赖注入容器手动建立宿主然后启动我的处理工作负载。在默认情况下Worker Service 模板包含了有用的基础组件比如依赖注入这样我们就可以集中精力在其上构建业务逻辑。它包含了一个管理应用程序生命周期的宿主。Worker Service 模板本身是相当基础的它只包含了三个开箱即用的核心文件。§1. Program.cs第一个是 Program 类。该类包含 .NET 控制台应用程序所必需的 Main 方法入口点.NET 运行时期望在启动 .NET 应用程序时在 Program 类中查找此方法。public class Program {public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureServices((hostContext, services) {services.AddHostedServiceWorker();}); } 在 Program 类中作为 Worker Service 模板一部分的是 CreateHostBuilder 方法该方法创建一个 IHostBuilder。IHostBuilder 接口定义了一个类型该类型使用生成器模式生成 IHost 的实例。此模板通过调用 Host 类中的静态 CreateDefaultBuilder 方法来创建一个新的 HostBuilder。然后它使用生成器来配置 IHost该 IHost 被用于运行 Worker Service 应用程序。宿主提供了依赖注入容器和日志记录等功能就像我们可以在 ASP.NET Core 应用程序中使用的那样。事实上从 .NET Core 3.0 开始ASP.NET Core Web 应用程序和 .NET Core Worker Service 都运行在同一 IHost 上的。默认情况下它包含了一个服务注册稍后我会在本文中介绍暂时不用担心。从 Main 方法中调用 CreateDefaultBuilder 方法将构建并立即运行宿主。当 .NET 运行时调用 Main 方法时应用程序启动宿主将保持运行监听标准的关闭信号例如按下 CTRLC 键。§2. appsettings.json如果您以前使用过 ASP.NET Core将会非常熟悉 appsettings.json 文件它是应用程序配置的常见来源之一。宿主被设计为当启动应用程序时使用任意已注册的配置提供程序从多个来源加载应用程序配置。其中一种提供程序是从 appsettings.json 加载配置该文件内容由 JSON 组成其结构包含表示应用程序配置的键和值。这些值可以随意地定义在对相关配置按逻辑分组成的片段Sections内。在 Worker Service 中启动时会检查相同的配置源包括此 appsettings.json 文件和环境变量并从不同的源构建最终的配置。默认情况下会加载多种默认的提供程序因此也会加载多种源。如果需要您也可以自定义宿主用来加载配置数据的提供程序。{Logging: {LogLevel: {Default: Information,Microsoft: Warning,Microsoft.Hosting.Lifetime: Information}} } 模板中的默认 appsettings 文件中包含日志记录库的配置设置项默认对 Worker Service 可用。这里的配置是为某些日志记录上下文设置记录级别的。§3. Worker.csWorker 是一个您在默认的 ASP.NET Core 项目模板中见不到的新类。它是托管服务与宿主相结合的魔力所在提供了 Worker Service 的基础。让我们来看一下它的代码public class Worker : BackgroundService {private readonly ILoggerWorker _logger;public Worker(ILoggerWorker logger){_logger logger;}protected override async Task ExecuteAsync(CancellationToken stoppingToken){while (!stoppingToken.IsCancellationRequested){_logger.LogInformation(Worker running at: {time}, DateTimeOffset.Now);await Task.Delay(1000, stoppingToken);}} } 此类从 BackgroundService 抽象基类派生。BackgroundService 类实现了一个名为 IHostedService 的接口。BackgroundService 包含一个名为 ExecuteAsync 的抽象方法我们必须在子类中重写该方法就像 Worker Service 模板中提供的 Worker 类中所做的那样。ExecuteAsync 方法返回一个 Task在 BackgroundService 内部期望此 Task 是一些长时间运行的工作负载。该 Task 会被启动并在后台运行。在内部宿主将启动 IHostedService 的所有注册实现包括从 BackgroundService 抽象类派生的类型。请记住BackgroundService 为我们实现了 IHostedService。§4. 如何注册托管服务(IHostedService)下一个显而易见的问题是如何注册 IHostedService 如果我们返回到 Program.cs 的代码我们将会找到答案public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureServices((hostContext, services) {services.AddHostedServiceWorker();}); 在 ConfigureServices 方法中可以向依赖注入容器注册类型。AddHostedService 是为 IServiceCollection 定义的一个扩展方法它允许我们注册一个实现了 IHostedService 的类。该模板中已将 Worker 类注册为托管服务。在启动时宿主将找到已注册的 IHostedService 的所有实例并按顺序启动它们此时它们的长时间运行的工作负载会作为后台任务来运行。为什么要构建 .NET Core Worker Service简单的答案是——何时以及是否需要它们如果您需要开发一个微服务它没有用户界面并执行长时间运行的工作那么 Worker Service 很可能是一个好的选择。请记住Worker Service 的底层只是一个控制台应用程序。该控制台应用程序使用宿主将应用程序转换为运行的服务直到收到停止的信号。宿主带来了您可能已经熟悉的一些特性比如依赖关系注入。使用和 ASP.NET Core 中可用的相同的日志记录和配置扩展使得开发可记录日志信息且需要一些配置的 Worker Service 变得相当轻松。当构建运行在云上的 Worker Service 时几乎总会存在这种需求。例如您可能需要为与您的 Worker Service 相交互的任何外部服务提供配置比如一个队列 URL。Worker Service 可用于从现有的 ASP.NET Core 应用程序提取职责设计新的基于 .NET Core 的微服务。总结在本文中我介绍了 Worker Service 项目模板以及它的一些潜在用例。我们探索了使用 Worker Service 模板创建的新项目中所包含的三个默认文件。§Worker Service 模板包含哪些文件Program.cs控制台应用程序的入口点创建并运行宿主以管理应用程序生命周期并生成一个长期运行的服务。appsettings.json一个提供应用程序配置值的 JSON 文件。Worker.cs派生自 BackgroundService 基类用于定义作为后台任务执行的长时间运行的工作负载。§Worker Service 是什么不需要用户交互的应用程序。使用宿主来维护控制台应用程序的生命周期直到宿主收到关闭的信号。将控制台应用程序转换为长时间运行的服务。包含和 ASP.NET Core 相同的功能如依赖注入、日志记录和配置。执行定期和长时间运行的工作负载。相关链接https://www.stevejgordon.co.uk/what-are-dotnet-worker-services WHAT ARE .NET WORKER SERVICES? ↩︎作者 Steve Gordon译者 技术译民出品 技术译站https://ITTranslator.cn/END
http://www.zqtcl.cn/news/353439/

相关文章:

  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网
  • 莒县建设局网站好的网站具备什么条件
  • 威海网站建设怎么样网上怎么推销自己的产品
  • 网站做SEO优化网站建设背景图片大小的修改
  • 看企业网站怎么做到百度秒收WordPress怎么可以上传图片
  • 欧洲手表网站简述jsp网站架构
  • 网站搜索排名优化软件flash xml网站
  • 匀贵网站建设亿级别网站开发注意
  • 怎样架设网站网站优化公司推荐
  • iis网站防盗链济宁官方网站
  • 网址查询地址查询站长之家在海南注册公司需要什么条件
  • 网站开发兼职平台网站建设需要多少钱小江网页设计
  • 最专业的网站建设收费2021没封的网站有人分享吗
  • 站酷设计网站官网入口文字设计wordpress是服务器吗
  • 律师手机网站模板天津做推广的公司
  • 西安市高新区建设规划局网站织梦小说网站模板下载地址
  • 网站开发简历 自我评价网页设计报告论文
  • 如何让网站不被收录不备案 国内网站
  • 站长之家域名买天猫店铺去哪里买
  • asp.net做的网站模板下载万网x3 wordpress
  • 设计网站设计目标天津市建设工程管理总队网站
  • 网站开始怎么做上海响应式网页建设