← Все проекты

SIMPLE PROJECTS

ModuWeb

Модульный веб-хост для .NET с горячей заменой функциональных DLL.

C#.NETASP.NET Core
Превью проекта ModuWeb

Проблема

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

Задача

Создать систему, которая минимизирует время простоя сервера и позволяет вносить изменения в функционалал без перезапуска.

Что реализовано

  • Загрузка модулей в изолированных AssemblyLoadContext.
  • Горячая перезагрузка DLL и общих зависимостей.
  • Маршрутизация, CORS-политики, сессии, события и обмен сообщениями между модулями.
  • Встроенный Razor-движок и Server-Sent Events.
  • Общие зависимости: одна генерация сборки на DLL, используемая всеми модулями; автоматическая перезагрузка при изменении.
  • Система событий и сообщений: модули могут подписываться на события (загрузка/выгрузка, запросы) и обмениваться данными через ModuleMessage.
  • Встроенный логгер с цветной индикацией уровней и хранилище (LiteDB) для сессий и пользовательских данных модулей.