Practical.CleanArchitecture 项目教程
1. 项目目录结构及介绍
Practical.CleanArchitecture/
├── docs/
├── src/
│ ├── ClassifiedAds.BackgroundServer/
│ ├── ClassifiedAds.IdentityServer/
│ ├── ClassifiedAds.Migrator/
│ ├── ClassifiedAds.WebAPI/
│ └── ClassifiedAds.WebMVC/
├── tools/
├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── azure-pipelines.yml
└── gitleaks.toml
目录结构介绍
- docs/: 存放项目文档的目录。
- src/: 存放项目源代码的目录,包含多个子项目。
- ClassifiedAds.BackgroundServer/: 后台服务项目。
- ClassifiedAds.IdentityServer/: 身份验证服务器项目。
- ClassifiedAds.Migrator/: 数据库迁移工具项目。
- ClassifiedAds.WebAPI/: Web API 项目。
- ClassifiedAds.WebMVC/: Web MVC 项目。
- tools/: 存放项目使用的工具和脚本。
- .gitattributes: Git 属性配置文件。
- .gitignore: Git 忽略文件配置。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- azure-pipelines.yml: Azure Pipelines 配置文件。
- gitleaks.toml: GitLeaks 配置文件,用于检测敏感信息泄露。
2. 项目启动文件介绍
ClassifiedAds.WebMVC
ClassifiedAds.WebMVC
是项目的 Web MVC 应用程序,启动文件为 Program.cs
。
// Program.cs
using ClassifiedAds.WebMVC;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
ClassifiedAds.WebAPI
ClassifiedAds.WebAPI
是项目的 Web API 应用程序,启动文件同样为 Program.cs
。
// Program.cs
using ClassifiedAds.WebAPI;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/api/hello", () => "Hello World!");
app.Run();
3. 项目配置文件介绍
appsettings.json
appsettings.json
是项目的主要配置文件,位于每个子项目的根目录下。
{
"ConnectionStrings": {
"ClassifiedAds": "Server=127.0.0.1;Database=ClassifiedAds;User Id=sa;Password=sqladmin123@#;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
appsettings.Development.json
appsettings.Development.json
是开发环境的配置文件,通常用于覆盖默认配置。
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
appsettings.Production.json
appsettings.Production.json
是生产环境的配置文件,通常用于覆盖默认配置。
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
}
}
通过以上配置文件,可以灵活地管理不同环境下的项目配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考