Рефакторирование минимального шаблона веб -приложений в классическую полную программу.C#

Место общения программистов C#
Anonymous
Рефакторирование минимального шаблона веб -приложений в классическую полную программу.

Сообщение Anonymous »

В настоящее время все примеры веб-приложений для ядра ASP.NET Используйте минимальный шаблон, где нет программы.

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args);

// ... Configure services, routes, etc.

app.Run();
+ public partial class Program { }
Minimal Program.cs на Github's Dotnet
Мне не нравится компилятор Voodoo, поэтому я бы предпочел, чтобы он был явным и классическим способом:

Код: Выделить всё

public class Program
{
public static async Task Main(params string[] args)
{
// ...
}

public static IHostBuilder CreateHostBuilder(string[] args)
{
// ... ???
}
}
Я также хотел бы, чтобы он был совместимы с WebApplicationFactory для тестирования, и я видел в его исходном коде, что он ищет метод CreateHostBuilder внутри программы , поскольку один из его внутренних методов комментируется с помощью:
inside >, как один из его внутренних методов:

Код: Выделить всё

/// The default implementation of this method looks for a public static IHostBuilder CreateHostBuilder(string[] args)
/// method defined on the entry point of the assembly of  and invokes it passing an empty string
/// array as arguments.
Но я не понимаю, что именно я должен положить туда, чтобы вернуть ihostbuilder .
Не могли бы вы показать мне общий и явный шаблон, который будет работать для веб -приложений? Я использую пакет Microsoft.aspnetcore.openapi с .net 8.

Подробнее здесь: https://stackoverflow.com/questions/796 ... cs-with-ma

Вернуться в «C#»