У меня есть приложение, состоящее из сайта MVC и WebAPI. проекты, оба работают на .NET 4 и используют один и тот же пул приложений. Это работало нормально целую вечность. Теперь я хочу преобразовать их в .NET 8.
Насколько я понимаю, единственный (возможный) вариант для меня — объединить эти два проекта в один. Это звучит как довольно глупая работа. И я просто ненавижу идею, чтобы эти двое использовали одну и ту же инфраструктуру кода (например, DI-контейнеры). Поэтому я ищу что-то вроде серебряной пули, которая решит все мои проблемы. Возможно ли иметь несколько экземпляров WebApplication, обслуживающих разные маршруты, например:
Код: Выделить всё
var builder1 = WebApplication.CreateBuilder(args);
// Services for app1
builder1.Services.AddSingleton();
var app1 = builder1.Build();
app1.MapGet("/", (IMyService myService) => myService.DoSomething()); // Routes for app1
var builder2 = WebApplication.CreateBuilder(args);
// Services for app2
builder2.Services.AddSingleton();
var app2 = builder2.Build();
app2.MapGet("/", (IMyService myService) => myService.DoSomething()); // Routes for app2
// Main application
var mainBuilder = WebApplication.CreateBuilder(args);
var mainApp = mainBuilder.Build();
// THIS ONE DOESN'T COMPILE
//And here I need the trick to be done, different prefixes redirecting to different apps
mainApp.Map("/admin", app1);
mainApp.Map("/api", app2);
// Start the main application
mainApp.Run();
Подробнее здесь: https://stackoverflow.com/questions/790 ... re-process