eShopOnContainers 项目教程
eShopOnContainers项目地址:https://gitcode.com/gh_mirrors/esh/eShopOnContainers
1. 项目的目录结构及介绍
eShopOnContainers 是一个基于 .NET 和 Docker 的云原生微服务参考应用。项目的目录结构如下:
eShopOnContainers/
├── src/
│ ├── ApiGateways/
│ ├── BuildingBlocks/
│ ├── Services/
│ ├── Web/
│ ├── WebhookClient/
│ ├── Webhooks/
│ ├── WebMVC/
│ ├── WebSPA/
│ ├── WebStatus/
│ ├── eShopOnContainers-MobileApps/
│ ├── eShopOnContainers-ServicesAndWebApps/
│ ├── eShopOnContainers-Windows/
│ ├── eShopOnContainers.sln
├── tests/
│ ├── Services/
│ ├── Web/
│ ├── WebhookClient/
│ ├── Webhooks/
│ ├── WebMVC/
│ ├── WebSPA/
│ ├── WebStatus/
├── .gitignore
├── .dockerignore
├── docker-compose.yml
├── docker-compose.override.yml
├── README.md
├── global.json
目录结构介绍
src/
: 包含项目的所有源代码。ApiGateways/
: API 网关相关代码。BuildingBlocks/
: 构建块,包含一些共享的库和组件。Services/
: 各个微服务的代码。Web/
: Web 应用程序的代码。WebhookClient/
: Webhook 客户端相关代码。Webhooks/
: Webhook 服务相关代码。WebMVC/
: MVC Web 应用程序的代码。WebSPA/
: 单页应用程序的代码。WebStatus/
: 应用程序状态监控的代码。eShopOnContainers-MobileApps/
: 移动应用程序的代码。eShopOnContainers-ServicesAndWebApps/
: 服务和 Web 应用程序的代码。eShopOnContainers-Windows/
: Windows 平台的代码。eShopOnContainers.sln
: 解决方案文件。
tests/
: 包含项目的所有测试代码。.gitignore
: Git 忽略文件。.dockerignore
: Docker 忽略文件。docker-compose.yml
: Docker Compose 主配置文件。docker-compose.override.yml
: Docker Compose 覆盖配置文件。README.md
: 项目说明文档。global.json
: 全局配置文件。
2. 项目的启动文件介绍
项目的启动文件主要位于 src/
目录下的各个子目录中。每个微服务和 Web 应用程序都有自己的启动文件。以下是一些关键的启动文件:
src/WebMVC/Startup.cs
: MVC Web 应用程序的启动文件。src/WebSPA/Startup.cs
: 单页应用程序的启动文件。src/Services/Catalog/Catalog.API/Startup.cs
: 商品目录服务的启动文件。src/Services/Basket/Basket.API/Startup.cs
: 购物车服务的启动文件。src/Services/Ordering/Ordering.API/Startup.cs
: 订单服务的启动文件。
启动文件介绍
启动文件主要负责配置应用程序的服务、中间件和路由。以下是一个典型的启动文件示例:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// 配置服务
services.AddControllers();
services.AddSwaggerGen();
// 其他服务配置
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
3. 项目的配置文件介绍
项目的配置文件主要包含 Docker Compose 配置文件和应用程序配置文件。以下是一些关键的配置文件:
eShopOnContainers项目地址:https://gitcode.com/gh_mirrors/esh/eShopOnContainers