CleanArchitecture WorkerService 项目教程

CleanArchitecture WorkerService 项目教程

CleanArchitecture.WorkerServiceA solution template using Clean Architecture for building a .NET Core Worker Service.项目地址:https://gitcode.com/gh_mirrors/cl/CleanArchitecture.WorkerService

1、项目的目录结构及介绍

CleanArchitecture.WorkerService/
├── src/
│   ├── CleanArchitecture.WorkerService.Core/
│   ├── CleanArchitecture.WorkerService.Infrastructure/
│   ├── CleanArchitecture.WorkerService.Application/
│   ├── CleanArchitecture.WorkerService.WebApi/
│   ├── CleanArchitecture.WorkerService.Worker/
│   ├── CleanArchitecture.WorkerService.Tests/
├── tests/
│   ├── CleanArchitecture.WorkerService.UnitTests/
├── .dockerignore
├── .editorconfig
├── .gitignore
├── CleanArchitecture.WorkerService.sln
├── Directory.Build.props
├── Directory.Packages.props
├── LICENSE
├── README.md
├── ef-migrations.txt

目录结构介绍

  • src/:包含项目的所有源代码。
    • CleanArchitecture.WorkerService.Core/:核心业务逻辑。
    • CleanArchitecture.WorkerService.Infrastructure/:基础设施层,包括数据库访问、外部服务等。
    • CleanArchitecture.WorkerService.Application/:应用层,处理业务逻辑。
    • CleanArchitecture.WorkerService.WebApi/:Web API 层。
    • CleanArchitecture.WorkerService.Worker/:Worker 服务层。
    • CleanArchitecture.WorkerService.Tests/:测试项目。
  • tests/:包含所有测试代码。
    • CleanArchitecture.WorkerService.UnitTests/:单元测试项目。
  • .dockerignore:Docker 忽略文件。
  • .editorconfig:编辑器配置文件。
  • .gitignore:Git 忽略文件。
  • CleanArchitecture.WorkerService.sln:解决方案文件。
  • Directory.Build.props:构建属性文件。
  • Directory.Packages.props:包管理属性文件。
  • LICENSE:许可证文件。
  • README.md:项目说明文件。
  • ef-migrations.txt:Entity Framework 迁移记录。

2、项目的启动文件介绍

项目的启动文件位于 src/CleanArchitecture.WorkerService.Worker/Program.cs

using CleanArchitecture.WorkerService.Worker;

IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        services.AddHostedService<Worker>();
    })
    .Build();

await host.RunAsync();

启动文件介绍

  • Program.cs:定义了 Worker 服务的主机配置和启动逻辑。
    • Host.CreateDefaultBuilder(args):创建默认的主机构建器。
    • ConfigureServices:配置服务,注册 Worker 服务。
    • Build():构建主机。
    • RunAsync():异步运行主机。

3、项目的配置文件介绍

项目的配置文件主要包括 appsettings.jsonglobal.json

appsettings.json

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=CleanArchitecture;User Id=sa;Password=your_password;"
  },
  "RabbitMQ": {
    "Host": "localhost",
    "Username": "guest",
    "Password": "guest"
  }
}

global.json

{
  "sdk": {
    "version": "7.0.0"
  }
}

配置文件介绍

  • appsettings.json:包含应用程序的配置信息,如日志级别、数据库连接字符串、RabbitMQ 配置等。
    • Logging:日志配置。
    • AllowedHosts:允许的主机。
    • ConnectionStrings:数据库连接字符串。
    • RabbitMQ:RabbitMQ 配置。
  • global.json:包含 SDK 版本信息。
    • sdk:指定使用的 .NET SDK 版本。

CleanArchitecture.WorkerServiceA solution template using Clean Architecture for building a .NET Core Worker Service.项目地址:https://gitcode.com/gh_mirrors/cl/CleanArchitecture.WorkerService

在C# WebApi项目实践中,可以采用ASP.NET Core 3.1 WebApi的干净体系结构来实现。您可以使用开源的BoilerPlate模板来创建一个干净的体系结构。通过这个模板,您可以获得ASP.NET Core的一些基础功能,如身份验证和授权管理。 在控制器中,您可以使用HttpPost和HttpGet属性来定义一个既支持POST请求又支持GET请求的方法。例如,您可以在控制器中添加一个CheckUserName方法来检查用户名是否已经注册。该方法通过调用UserInfoGetCount方法来查询是否存在该用户,然后根据查询结果返回相应的响应消息。 在WebApi项目中的appsettings.json文件可以修改应用程序和身份验证的连接字符串,以适应您的具体需求。 在构建WebApi项目时,您可以注意到它与MVC非常相似。首先,您可以修改路由以添加action,这样可以更方便地处理请求。在App_start文件中,WebApi使用没有action的路由规则,您可以根据需要修改路由规则使其与MVC的路由规则相同。 通过以上的实践,您可以构建出一个基于C#的WebApi项目,并实现一些常用的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [CleanArchitecture.WebApi:ASP.NET Core 3.1 WebAPI的Clean Architecture的实现。建立时考虑了松散耦合的...](https://download.csdn.net/download/weixin_42097189/15896591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [C#搭建一个简单的web api项目](https://blog.csdn.net/hdy14/article/details/88187455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侯忱励

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值