portable-areas

___ answer17240952 ___

Beginnen wir mit dem

Definition:

A %code% ist eine DLL, die %code% enthält, die normalerweise Teil Ihrer Lösung wäre. Tragbare Bereiche enthalten Ansichten, Controller, Modelle, sogar JS-Skripte, CSS-Dateien und Bilder.

Im Idealfall arbeiten die %code% in Ihrem Portable Area zusammen, um zusammenhängenden Funktionen zu erstellen. Wenn nicht, profitieren Sie wahrscheinlich nicht von einem tragbaren Bereich.

Nutzen

Ich habe Portable Areas mit Web-Forms %code% verglichen, weil beide ein Versuch sind, die Frage zu beantworten:

Wie erstelle ich wiederverwendbare Funktionalität?

Sie werden von Portable Areas profitieren, wenn Sie Funktionen erstellen möchten, die in mehreren Projekten verwendet werden können, oder als Funktionalität, die von Drittanbietern genutzt werden kann.

Nachteil

Jedes Mal, wenn Sie eine Ansicht, JS-Datei, CSS-Datei oder ein Bild in Ihrem Portable Area ändern, müssen Sie es neu erstellen. Ich betone diese Komponenten, weil sie normalerweise nicht neu aufgebaut werden müssen, wenn sie getestet oder entwickelt werden.

Dies kann zu einem Problem werden. Wenn Sie jedes Mal, wenn Sie Änderungen an CSS vornehmen, ein neues Build erstellen, werden 30-Sekunden-Änderungen zu 2-Minuten-Änderungen. Mache 30 davon und du hast 15 Minuten Arbeit in 2 Stunden gestreckt.

Portable Areas sind für eine ausgereifte Funktionalität gedacht, die in mehreren Projekten oder Lösungen wie sie ist wiederverwendet werden kann.

  • Portable Areas sind nicht ideal für Funktionen, die sich in einem frühen Entwicklungsstadium befinden.

  • Portable Areas sind nicht ideal für Funktionen, die nur in einer Lösung oder einem Projekt vorhanden sind.

___ answer17298726 ___

Viele Dinge haben bereits gesagt. Ich habe einige Erfahrung in der Arbeit mit tragbaren Bereichen, und hier ist meine persönliche Sichtweise.

  • MvcContrib wurde seit einem Jahr nicht mehr aktualisiert (siehe nuget ) . Wenn Sie sich den Codeplex ansehen, werden Sie sehen, dass es seit der letzten Version nicht so viele Aktualisierungen im Quellcode gab. Es kann reif sein, aber keine Unterstützung kann problematisch sein.

  • Ein tragbarer Bereich ist in einer einzelnen Baugruppe enthalten . Es ist einfacher, sie wiederzuverwenden und zu aktualisieren, aber die Herausforderung besteht darin, wie Sie die Benutzerschnittstelle durch die Clientanwendung ausreichend steuern können. Auch wenn es sich um eine wiederverwendbare Funktion handelt, möchten Sie manchmal noch Master-Layouts oder Teiltöne verwenden.

  • Alle Web-Ressourcen (CSS, Js, Views) müssen Eingebettete Ressourcen sein (in dll enthalten) . Dies bedeutet, dass es wirklich sehr mühsam ist zu debuggen / debuggen, da jede Codeänderung eine Neuerstellung erfordert. Außerdem müssen Sie die Client-Website als Host für den tragbaren Bereich verwenden.

  • Portable Areas verwenden einen benutzerdefinierten Anbieter für virtuelle Pfade . Der Code des benutzerdefinierten virtuellen Pfadanbieters ist nicht getestet und vollständig nicht testbar. Die Verwendung von Virtual Path Providern wird vom ASP.Net-Team nicht empfohlen, da dies zu Leistungsproblemen führen kann.

  • Portable Areas gegen Nuget-Pakete . Portable Areas wurden vor vier Jahren (vor Nuget) entwickelt. Portable Areas lösten die Fähigkeit, Dateien (Css, Java Script) in einer separaten Anwendung zu transportieren, anzuzeigen und zu speichern. Nuget hat dieses Problem ebenfalls gelöst.

Aber trotz all dieser Nachteile nutzt mein Team es immer noch. Warum ? weil es für uns zur richtigen Zeit die richtige Lösung war.

    
___ tag123aspnetmvc ___ Das ASP.NET MVC Framework ist ein Open-Source-Webanwendungs-Framework und -Tooling, das eine auf Web-Anwendungen zugeschnittene Version des Model-View-Controller (MVC) -Musters implementiert und auf einer ASP.NET-Technologiegrundlage aufbaut. ___ tag123aspnetmvc4 ___ ASP.NET MVC 4 ist die vierte Hauptversion der ASP.NET Model-View-Controller-Plattform für Webanwendungen. ___ tag123portablebereiche ___ hilf uns, dieses Wiki zu bearbeiten ___ tag123mvccontrib ___ Dieses Projekt wurde entwickelt, um Microsoft ASP.NET MVC Framework um Funktionalität und Benutzerfreundlichkeit zu erweitern. MVC Contrib ist nützlich für Entwickler, die UI-Elemente auf dem ASP.NET MVC-Framework entwickeln und testen möchten. ___ qstntxt ___

Für Personen, die Erfahrung mit tragbaren Bereichen haben,

Ich würde gerne wissen, ob es Nachteile bei der Verwendung gibt und warum Sie nicht verwenden, um eine große MVC-Anwendung in Komponententeile zu zerlegen.

    
___ qstnhdr ___ Portable Area Nachteile ___ tag123aspnet ___ ASP.NET ist ein Framework für die Entwicklung von Microsoft-Webanwendungen, mit dem Programmierer dynamische Websites, Webanwendungen und Webdienste erstellen können. Es ist nützlich, dieses Tag in Verbindung mit dem Typ des Projekttyps zu verwenden, z. [asp.net-mvc], [asp.net-webforms] oder [asp.net-web-api]. Verwenden Sie dieses Tag NICHT für Fragen zu ASP.NET Core - verwenden Sie stattdessen [asp.net-core]. ___
2
Antworten

Portable Area Nachteile

Für Personen, die Erfahrung mit tragbaren Bereichen haben, Ich würde gerne wissen, ob es Nachteile bei der Verwendung gibt und warum Sie nicht verwenden, um eine große MVC-Anwendung in Komponententeile zu zerlegen.     
17.06.2013, 04:08