Несколько экземпляров WebApplication в одном основном процессе .netC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Несколько экземпляров WebApplication в одном основном процессе .net

Сообщение Anonymous »

Я пытаюсь смягчить ограничение, связанное с невозможностью совместного использования пула приложений IIS между различными приложениями .NET Core.
У меня есть приложение, состоящее из сайта 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();
PS: Я не могу использовать внепроцессный хостинг. Я не могу создать дополнительные пулы приложений

Подробнее здесь: https://stackoverflow.com/questions/790 ... re-process
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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