Dans ASP.NET MVC, on peut utiliser la propriété suivante pour affecter une page de mise en page locale:cshtml Mise en page à distance
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Avec projet local, je veux dire qu'il doit résider dans le même ASP.NET MVC.
Dans notre projet, nous devons être en mesure de partager une page de mise en page à travers différentes solutions qui sont déployées par différentes équipes à des moments différents. Nous devons donc être en mesure d'affecter une page de mise en page à partir d'un emplacement central lors de l'exécution. Nous ne voulons pas que quiconque ait la dernière page de mise en page et la place dans ses projets + déploiement.
Il n'est pas possible d'affecter une URL distante à la propriété layout (ce qui semble logique). Est-ce que quelqu'un a déjà essayé quelque chose comme ça?
Je pensais faire une méthode d'extension de la mise en page de remplacement qui effectue les opérations suivantes (par exemple this.SetRemoteLayout (« [url] »):
- synchrone requête HTTP bien mises en cache pour aller chercher la page de mise en page à partir d'une centrale application web
- télécharger la page de mise en page localement afin qu'il puisse être accessible par le chemin relatif par exemple « ~/Vues/Temp/_Layout.cshtml »
- interne attribuer la propriété de la mise en page avec le chemin relatif du fichier téléchargé
Est-ce que quelqu'un a déjà fait ça?
Je pense que vous pouvez ajouter un « faux » _layout à votre projet, puis créer un événement 'pré-build' qui copie le « réel » _layout sur le faux de votre emplacement désiré. – mxmissile
En outre, vous pouvez utiliser un dossier lié en utilisant la commande "mklink" "mklink -d projectfolder canonicalfolder" (ou même simplement un lien vers le fichier lui-même). Cela pourrait toutefois créer des problèmes dans la gestion de votre contrôle de source. vous voudrez probablement ignorer le contenu lié sauf dans le projet canonique. – theGleep
Les exigences définissent qu'il doit être au moment de l'exécution. Si les changements de mise en page se produisent, le but est que tous les projets ne doivent pas être reconstruits. –