Возврат сгенерированного CSS из действия контроллера MVC5 или Web API 2

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

В настоящее время мы планируем сделать это, используя LESS и переменные следующим образомна клиенте:

Загрузите зависимые файлы LESS с сервераВызовите веб-сервис для получения объекта конфигурацииФорма строки действительного LESS с определенными переменнымииспользованиеless.js компилятор для компиляции LESS на основе этих переменных и фиксированных файлов LESS с шага 1

Этот подход имеет ряд недостатков:

Клиенты могут вести себя плохоНекоторые браузеры имеют проблемы сless.jsКомпиляция требует времени

Вместо этого мы хотели бы позаботиться об этой работе на сервере, так что, грубо говоря, это происходит на сервере:

Клиент просит загрузить одну большую скомпилированную таблицу стилей -GET content/styles/{tenantName}.cssС помощьюtenantName сервер выбирает конфигурациюИспользуя шаблон и соответствующие переменные (возможно,string.Format или что то более изощренное)Сервер компилирует LESS в строку CSSСервер возвращает строку CSS с соответствующейContent-Type

Вот мои вопросы:

Это необычный или нежелательный способ достижения указанного результата?Если не считать настройки архитектуры для серверного JavaScript, как я могу скомпилировать LESS в CSS?Что я должен сделать в действии контроллера или в конфигурации маршрута, чтобы заставить клиента думать, что сервер возвращает обычный старый файл CSS с полным контролем кэша, не измененный?

Ответы на вопрос(1)

Ваш ответ на вопрос