ASPNETLIB ist eine Gabel von ASP.NET MVC 5, die die Codebasis in kleinere Projekte aufteilt, um die Wiederverwendung zu vereinfachen. Sie können es verwenden, um Ihrem eigenen Framework Funktionen hinzuzufügen. Typnamen und Namespaces werden nicht geändert, und es werden brechende Änderungen auf ein Minimum gehalten.
Projekte können von Vorfahren oder Geschwister abhängen, jedoch nicht von Nachkommenprojekten. Beispielsweise hängt Aspnetlib.mvc.modelBinding von Aspnetlib.mvc ab, nicht umgekehrt.
| Projekt | Beschreibung | Abhängigkeiten |
|---|---|---|
| Aspnetlib.mvc | Enthält die Kerntypen, aus denen die Knochen des Frameworks besteht, wie z. B. ControllerContext, ViewContext, modelmetadata, ViewDatadictionary und HTMLHelper. Es enthält auch Dienstprogramme wie Selektivliste und Tagbuilder. Alles, was mit Controllern zusammenhängt, ist nicht enthalten . | ASPNETLIB.Browserover -riding (Anzeigemodi erfordern dies) |
| ASPNETLIB.MVC.MODELBINDING | Modellbindungsabstraktionen und Implementierungen. Enthält Typen wie Imodelbinder, IvalueProvider, defaultModelBinder und Bindattribute. | Aspnetlib.mvc |
| Aspnetlib.mvc.dataannotations | Implementierungsklassen, die in System.comPonentModel.Dataannotations Namespace integriert werden. Wenn Sie diese Assembly -Anmerkungen nicht verwenden, werden für Metadaten und Validierung vollständig ignoriert. | Aspnetlib.mvc |
| Aspnetlib.mvc.viewEngine | Motorabstraktionen anzeigen. Enthält Typen wie IviewEngine, IView und ViewEngines. | Aspnetlib.mvc |
| Aspnetlib.mvc.viewengine.comPilation | Klassen, die kompilierte Ansichtsmotoren unterstützen, integriert sich in das System. Enthält Typen wie BuildManAGerviewEngine und BuildManagerCompiledView. | Aspnetlib.mvc, Aspnetlib.mvc.viewEngine |
| Aspnetlib.mvc.viewEngine.razor | Rasiermesser View Motor. Enthält Typen wie RazorviewEngine, Razorview und WebViewPage. | Aspnetlib.mvc, Aspnetlib.mvc.viewengine, Aspnetlib.mvc.viewengine.comPilation, microsoft.aspnet.webpages |
| ASPNETLIB.MVC.ViewEngine.Webform | Webform View Engine. Enthält Typen wie WebFormViewEngine, WebFormView und Ansicht. | ASPNETLIB.MVC, ASPNETLIB.MVC.VIEWENGINE, ASPNETLIB.MVC.VIEWENGINE.COMPILATION |
| Aspnetlib.mvc.html | HTML -Helfer (Erweiterungsmethoden). Enthält Typen in System.web.mvc.html und System.Web.Mvc.ajax Namespaces. | Aspnetlib.mvc, Aspnetlib.mvc.viewEngine |
| Aspnetlib.antixsrf | Anti-Flüger-Funktionsfunktion von Webseiten. Enthält Typen wie Antiforgery und HttpantiForgeryException. | |
| ASPNETLIB.BrowSerover -riding | Browser -Überschreitungsfunktion von Webseiten. Beinhaltet Typen wie BrowserHelpers und Browseroverridestore. |
In ASP.NET MVC hängt die ControllerBase von ControllerContext ab und ControllerContext hängt von ControllerBase ab. Das Gleiche gilt für iView: IView hängt von ViewContext und ViewContext ab, hängt von IView ab. Diese kreisförmige Abhängigkeit ist nicht nur nicht erforderlich, sondern auch schwierig, Controller und Ansichten aus dem Rest des Gerüsts zu entkoppeln. Aus diesen Gründen hängt in ASPNETLIB ControllerContext nicht mehr von ControllerBase ab und ViewContext hängt nicht mehr von IView ab.
Die Methode HTMLHelper.antiforgery wurde entfernt, um die Abhängigkeit von Aspnetlib.antixsrf zu vermeiden. Sie können stattdessen AntiForgery.GetHtml() anrufen.