2009-06-25 3 views
0

Ich mag ASP.Net MVC-Anwendung implementieren, die Controller, Ansichten und Content-Dateien haben könnte (wie JS, Bilder, ..) dynamisch zusammengebaut. Ich hätte ein Basis-Webprojekt, das einige grundlegende Controller, Ansichten und andere Inhaltsdateien enthalten würde, aber es sollte möglich sein, alle diese Elemente zu erweitern/zu ersetzen.asp.net Mvc-Anwendung - Last/außer Kraft setzen Ansichten, Controller, JS-Dateien von Plug-Baugruppen

Der Hauptgrund für diese Art von Architektur ist ich eine Anwendung, die von mehr Kunden verwendet werden soll. Es gibt viele grundlegende Gemeinsamkeiten, die für alle Kunden gleich sind, aber es gibt auch viele Dinge, die sich jeweils anders verhalten sollten. Einige Kunden haben auch spezifische Funktionen, die andere nicht haben usw. Ich weiß, wie man dieses Problem in Model- und Service-Layer löst (Vererbung + Registrierung entsprechender Dienste im IoC-Container), aber ich weiß nicht, wo ich mit dem ASP anfangen soll .Net MVC-Anwendung.

Meine Grundidee ist, als gäbe es ein einfaches Projekt mit gängigen Controllern, Ansichten, JS-Dateien usw. Es könnten auch andere Projekte existieren, die einige Anwendungsteile ersetzen oder hinzufügen könnten - Controller, Ansichten, JS-Dateien, Bilder. Ich kann Controller leicht lösen, indem ich IoC als Controller-Provider verwende, aber ist es möglich, Ansichten und statische Dateien leicht irgendwie zu "überschreiben"? Setzt VirtualPathProvider magic + Views + statische Dateien ein, um alles zu tun, was ich tun muss, um dieses Problem zu lösen?

würde ich alle Links schätzen Beiträge mit diesem und anderen Informationsquellen zu tun bloggen.

Antwort

0

Ich kann Ihnen nicht empfehlen, einen Blick auf die Verbesserungen zu werfen, die in Areas in ASP.NET MVC 2 und MvcContrib Portable Areas vorgenommen wurden.

Die Idee dahinter ist, die alle mit allen Controllern eingebettet Ansichten und auf diese Ansichten in einer einzigen Baugruppe bezogene Modelle, so können Sie einen Bereich der Applikation „portable“ haben.

ich denke, es wird nicht zu „überschreiben“ die Standardansicht, indem ein Ersatz in der realen Web-Anwendungsordner schwierig sein, wo es gefunden werden sollte.