.NET 教程 - 你的第一个微服务

创建服务

在命令提示符下,运行以下命令以创建应用:

在终端中,运行以下命令来创建应用:

Command prompt
dotnet new webapi -o MyMicroservice --no-https

然后,导航到由上一个命令创建的新目录:

Command prompt
cd MyMicroservice

这些命令分别代表什么?

dotnet 命令会创建一个类型为 webapi 的新应用程序(这是一个 REST API 终结点)。

  • -o 参数创建名为 MyMicroservice 的目录,用于存储应用。
  • --no-https 标志会创建一个应用,该应用将在没有 HTTPS 证书的情况下运行,以便保持部署简单。

使用 cd MyMicroservice 命令可进入新创建的应用目录。

生成的代码

已在 MyMicroservice 目录中创建了多个文件,以便为你提供可运行的简单服务,包括以下文件:

  • Program.cs 是入口点文件,包含在应用启动时加载的所有设置和配置,并具有一个简单的 API 代码,可返回未来五天的天气预报。它还会启动应用程序。
  • MyMycroservice.http 用于测试 ASP.NET Core 项目。
  • MyMicroservice.csproj 会定义应用面向的 .NET 版本、项目引用的库等。
  • Properties 目录中的 launchSettings.json 文件为本地开发环境定义不同的配置文件设置。创建项目时会自动分配 5000-5300 之间的端口号并将其保存在此文件上。

以下代码显示 Program.cs 文件的内容:

Program.cs
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

var summaries = new[]
{
    "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

app.MapGet("/weatherforecast", () =>
{
    var forecast =  Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            Random.Shared.Next(-20, 55),
            summaries[Random.Shared.Next(summaries.Length)]
        ))
        .ToArray();
    return forecast;
})
.WithName("GetWeatherForecast")
.WithOpenApi();

app.Run();

record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

选择下面的 继续 按钮以转到下一步。

遇到错误?

如果你收到类似于“模版 "ASP.NET Core Web API" 无法创建。无法创建模版。详细信息: 对路径 "C:\Windows\System32\MyMicroservice" 的访问被拒绝”的消息,请将当前目录更改为有权在其中新建文件夹的目录,然后尝试再次运行该命令。

如果在尝试创建项目时 Windows 找不到 SDK,且你确定已安装 SDK,则计算机可能存在 PATH 环境变量问题。请参阅此 Stack Overflow 帖子,获取如何诊断并解决此问题的说明。

如果无法解决遇到的问题,请选择下面的“我遇到了问题”按钮,以获取解决问题的帮助。

继续