Devolución de CSS generado desde una acción de controlador MVC5 o Web API 2

En nuestra aplicación multiinquilino tenemos la necesidad de personalizar los estilos utilizados por inquilino.

Actualmente planeamos hacerlo utilizando MENOS y variables de la siguiente maneraen el cliente:

Descargar archivos MENOS dependientes del servidorLlame al servicio web para obtener el objeto de configuraciónCadena de forma de MENOS válido con variables definidasUtilizarless.js compilador para compilar MENOS en base a estas variables y los archivos MENOS fijos del paso 1

Este enfoque tiene varias desventajas:

Los clientes pueden portarse malAlgunos navegadores tienen problemas conless.jsLa compilación lleva tiempo

En su lugar, nos gustaría ocuparnos de este trabajo en el servidor, de modo que, en términos generales, esto suceda en el servidor:

El cliente solicita descargar una gran hoja de estilo compilada:GET content/styles/{tenantName}.cssUtilizandotenantName el servidor obtiene la configuraciónUsando una plantilla y las variables apropiadas (tal vezstring.Format o algo más sofisticado)El servidor compila MENOS a la cadena CSSEl servidor devuelve una cadena CSS con el apropiadoContent-Type

Aquí están mis preguntas:

¿Es esta una forma inusual o indeseable de lograr dicho resultado?A falta de configurar la arquitectura para JavaScript del lado del servidor, ¿cómo puedo compilar LESS en CSS?¿Qué debo hacer en la acción del controlador o en la configuración de la ruta para hacer que el cliente piense que el servidor está devolviendo un archivo CSS antiguo normal, completo con control de caché, no modificado?

Respuestas a la pregunta(1)

Su respuesta a la pregunta