ASP.NET MVC 3 - Mehrere Domänen verwalten und eine einzige Codebasis gemeinsam nutzen

8

Ich habe mich schon seit einigen Tagen gefragt, wie ich das am besten machen könnte, und ich habe mich gefragt, was die anderen wohl gedacht haben.

Wir möchten alle Websites unserer Unternehmen auf ASP.NET MVC 3 umstellen und aktualisieren und eine gemeinsame Vorlage für alle verwenden (meistens); Wir haben bereits eine Website in MVC 3, die die Spenderstelle für die anderen sein wird.

Zuerst wollte ich das Projekt einfach kopieren / einfügen, den gesamten Inhalt durch den für jede Seite relevanten Inhalt ersetzen und fertig sein, aber das würde das Aktualisieren der Vorlagen / Stylesheets / Helfer in Zukunft erschweren - wir haben es nur eine Handvoll Webseiten, also ist es kein großes Problem.

Idee 1

Was ich gerne tun würde, wäre, ein einziges Projekt zu haben, das alle Websites enthält, möglicherweise getrennt nach Bereichen, um sie getrennt zu halten und Routing zu verwenden, um die Anfragen an verschiedene Domains an den richtigen Ort zu senden und zu erstellen Links, die auf die richtige Domain zeigen.

Dies würde dazu passen, wie wir alle Websites miteinander verknüpfen wollen - im Wesentlichen mit einem gemeinsamen Menü für alle Websites, auf denen die verschiedenen Unternehmen aufgeführt sind. Diese würden mit der Unternehmensdomäne verlinken, die Untermenüs von Artikeln zu diesem bestimmten Unternehmen enthält .

Hier wird es knifflig, da ich auf Domänenebene routen müsste - statt Routing an den company2-Controller der aktuellen Domain (zB http://www.groupcompany.ex/company2 ) möchte ich die eigene Domain von company2 -% co_de routen %.

Idee 2

Alternativ könnte ich Projekte für jede Seite in einer einzigen Lösung erstellen und ein gemeinsames Projekt haben, in dem alle Helfer, CSS und JavaScript usw. untergebracht sind.

Irgendwelche Gedanken darüber, wie ich das machen sollte, und ob meine Vorschläge völlig verrückt sind? (was wahrscheinlich der Fall sein wird).

    
akiller 30.07.2011, 23:31
quelle

1 Antwort

7

Dies ist eine häufige Anfrage. Was Sie fragen, heißt Multi-Tenancy. Bis heute weiß ich keinen Konsens darüber, wie Multi-Tenancy in MVC erreicht werden kann. Es gibt wahrscheinlich so viele Lösungen, wie Fragen dazu gestellt werden.

Ich habe dieses Problem auch nicht zu meiner Zufriedenheit gelöst. Es gibt jedoch eine Reihe von Blogeinträgen, die dies abdecken. Beispiele umfassen:

Ссылка

Ссылка

Dies ist etwas, von dem ich denke, dass es irgendwann in den Rahmen integriert werden muss. Hoffentlich passiert das, oder zumindest kommt jemand mit einer eleganten Lösung auf.

    
Erik Funkenbusch 30.07.2011 23:44
quelle