Учебник по .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, на которую нацелено приложение, на какие библиотеки ссылается проект и т. д.
  • Файл launchSettings.json в каталоге Properties определяет различные параметры профиля для локальной среды разработки. Номер порта в диапазоне от 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.

Если вы не можете решить возникшую проблему, нажмите кнопку Я столкнулся с проблемой ниже, чтобы получить помощь в устранении проблемы.

Продолжить