Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen der Erstellung einer neuen Website und einem neuen WEB-Projekt in VS?

Was ist der Unterschied zwischen der Erstellung einer neuen Website und einem neuen WEB-Projekt in VS?

巴扎黑
巴扎黑Original
2017-04-30 10:43:564699Durchsuche

Vorteile des WebApplication-Programmiermodells

●Die Website wird im inkrementellen Kompilierungsmodus schnell kompiliert. Erst nachdem die Datei geändert wurde, wird dieser Teil inkrementell kompiliert.

●Generierte Baugruppe
WebSite: Generieren Sie einen zufälligen Assemblynamen. Sie müssen das Plug-in WebDeployment verwenden, um eine einzelne Assembly zu generieren
WebApplication: Sie können ein Website-Projekt angeben, um eine einzelne Assembly zu generieren. Da es sich um eine unabhängige Assembly handelt, können Sie den Namen, die Version, den Ausgabeort und andere Informationen der Anwendungsassembly genau wie bei anderen Projekten angeben

●Die Website kann zur einfacheren Verwaltung in mehrere Projekte aufgeteilt werden

●Eine Datei kann von der Projekt- und Quellcodeverwaltung ausgeschlossen werden

●Unterstützt bequem Team Build von VSTS für den täglichen Aufbau

●Leistungsstärkere Code-Inspektionsfunktion und die Inspektionsstrategie wird durch den Quellcode gesteuert

●Sie können Ihre eigene vorgeschriebene Verarbeitung vor und nach der Kompilierung durchführen

●Starke Ressourcenklassenunterstützung für App_GlobalResources (wird online erwähnt, aber ich habe noch nichts davon erfahren)

●Aktualisieren Sie große Systeme, die mit VS2003 erstellt wurden, direkt

Vorteile des WebSite-Programmiermodells

●Kompilieren Sie die Seite dynamisch und Sie können den Effekt sofort sehen, ohne die gesamte Site kompilieren zu müssen (Hauptvorteil)

●Wie oben können Sie verhindern, dass das falsche Teil das verwendete Teil beeinträchtigt (Sie können verlangen, dass Sie erst einchecken können, nachdem die Kompilierung bestanden wurde)

●Sie können für jede Seite eine Assembly generieren (diese Methode wird im Allgemeinen nicht verwendet)

●Sie können ein Verzeichnis als Webanwendung behandeln, die Dateien direkt kopieren und ohne Projektdateien veröffentlichen (geeignet für kleine Websites)

●Sie können die Seite auch in die Assembly kompilieren (sollte nicht verwendet werden, und WebApplication kann auch über das WebDeployment-Plug-in implementiert werden)

Konvertierung zwischen zwei Programmiermodellen

VS2005 SP1 verfügt über ein integriertes Konvertierungsprogramm, das problemlos von WebSite zu WebApplication konvertieren kann
Kopieren Sie einfach die Datei, klicken Sie mit der rechten Maustaste und führen Sie „In Webanwendung konvertieren“ aus.

Ich habe kein spezielles Tool zur umgekehrten Konvertierung gefunden, aber nach einem Vergleich habe ich festgestellt, dass die Konvertierung sehr einfach ist.
Löschen Sie alle *.designer.cs
Batch-Ersetzung von Codebehind="******.aspx.cs" in *.aspx-, *.ascx-, *.master-Seitendateien durch CodeFile="******.aspx.cs"

Auf diese Weise können Sie es wieder zurückkonvertieren

Szenario

Webanwendungsprojekt

Website-Projekt

Projektdefinition

Ähnlich wie Visual Studio .NET 2003 werden aufgrund der Existenz der Projektdatei nur Dateien angezeigt, auf die von der Projektdatei verwiesen wird Lösung Explorer erscheint in . Und nur diese Dateien werden kompiliert. Sie können eine ASP.NET-Anwendung problemlos in mehrere Visual Studio-Projekte aufteilen. Es ist einfach, eine Datei von der Projekt- und Quellcodeverwaltung auszuschließen.

Eine Verzeichnisstruktur ist ein WEB-Projekt. Es existiert keine Projektdatei. Alle Dateien in diesem Verzeichnis sind als Teil des Projekts vorhanden.
Für eine Website, die wir tatsächlich bereitstellen, sind natürlich keine Projektdateien in der Bereitstellung vorhanden. Wenn Sie die Website ändern möchten, ist dieses Programmiermodell sehr gut geeignet. Wir müssen uns nicht einmal darum kümmern, zu welchem ​​Projekt diese Dateien auf dieser
WEB-Site gehören.

Kompilieren und generieren

ist fast dasselbe wie der Web-Anwendungsprojektkompilierungsmodus von Visual Studio .NET 2003.

Alle Code-Behind--Klassendateien und unabhängigen Klassendateien im Projekt werden in einer unabhängigen Anwendungsassembly kompiliert. Dieser Anwendungssatz wird im Verzeichnis Bin abgelegt. Da es sich um einen unabhängigen Anwendungssatz handelt, können Sie den Namen, die Version, den Ausgabeort und andere Informationen des Anwendungssatzes angeben.

Zum Beispiel: Das Muster Model-View-Controller (MVC) kann hier gut verwendet werden. Weil es die Referenzierung einer separaten Klasse in WEB-Seiten und WEB-Benutzersteuerelementen ermöglicht.

Der Kompilierungsbefehl (Build) dient lediglich dazu, zu testen, ob die WEB-Site korrekt kompiliert ist, und ein WEB zu debuggen Bei Website-Projekten wird dies durch dynamisches Kompilieren von Seiten und Klassen erreicht, die auf Ihren Quellcodedateien basieren, ASP.net.

Vorkompilierte Websites und dynamisch kompilierte Websites verwenden dieselbe Kompilierungssemantik Sie können die Leistung Ihrer Website durch Vorkompilierung verbessern.

ASP.net Das dynamische Kompilierungssystem bietet zwei Modelle: das standardmäßige Batch -Kompilierungsmodell und das Festnamen Kompilieren Sie das Modell.

Batch Im Kompilierungsmodell wird es in mehrere Anwendungssätze kompiliert (normalerweise einer pro Verzeichnis). Wenn Sie sich den Anwendungssatz zu diesem Zeitpunkt ansehen, ist es schwierig zu bestimmen, um welches Verzeichnis es sich handelt.

feste Namen Im Kompilierungsmodell wird jede Seite der Website oder jedes Benutzersteuerelement in einen Anwendungssatz kompiliert.

Iterativ
Entwicklung

Beim Debuggen oder Ausführen der Web-Seite müssen Sie das gesamte WEB-Projekt kompilieren.

Das Kompilieren des gesamten WEB-Projekts geht normalerweise schneller, da Visual Studio den inkrementellen Kompilierungsmodus verwendet, sodass nur die Dateien geändert werden dann wird dieser Teil inkrementell kompiliert.

Sie können die Kompilierungseigenschaften von Visual Studio 2005 konfigurieren: die gesamte Site kompilieren, eine bestimmte Seite kompilieren oder nichts tun. Im letzten Fall öffnet Visual Studio beim Ausführen einer WEB-Site nur einen Browser und greift auf die aktuelle oder Startseite zu. Wenn diese Anfrage gesendet wird, startet ASP.net die dynamische Kompilierung.

In diesem Modus wird die Seite dynamisch kompiliert oder in verschiedene Anwendungssätze kompiliert. Wenn Sie also eine Seite debuggen oder ausführen, muss nicht das gesamte Projekt kompiliert werden. Der fehlerhafte Teil beeinträchtigt nicht den von Ihnen verwendeten Teil.

Wenn Sie eine WEB-Seite ausführen oder debuggen, wird Visual Studio standardmäßig vollständig Web kompiliert SiteProjekt.

Tun Sie dies, um alle Fehler während der Kompilierung anzuzeigen. Während der Entwicklung kann die vollständige Kompilierung der gesamten Site jedoch recht langsam sein. Daher wird empfohlen, die aktuelle Seite nur während der Entwicklung und beim Debuggen zu kompilieren.

Bereitstellung

Da alle Klassendateien in einer Anwendungsassembly kompiliert werden, müssen Sie diese Anwendungsassembly bei der Bereitstellung nur mit der .aspx-Datei kombinieren .ascx-Dateien werden zusammen mit anderen statischen Inhaltsdateien bereitgestellt.

Bei diesem Modell wird die Datei .aspx nicht kompiliert. Sie wird dynamisch kompiliert, wenn der Browser auf diese Seite zugreift.

Wenn Sie jedoch Web Deployment Projects ( ein Visual Studio 2005-Plugin verwenden, ist es nicht standardmäßig enthalten VS2005), Sie können die .aspx -Datei in eine Anwendungsprogrammkonzentration kompilieren.

Wenn Sie nur eine kleine Codezeile ändern, müssen Sie auch den gesamten Code des gesamten Projekts kompilieren und den Anwendungssatz veröffentlichen, der den gesamten Code enthält.

Verwenden Sie den Befehl Website veröffentlichen von Visual Studio . Sie können .aspx -Dateien und Code-Behind-Dateien werden in Anwendungsassemblys kompiliert, sodass Sie die kompilierten .aspx Der Dateiheader hat sich geändert. (Hinweis: Mit dem Befehl Build erhalten Sie nicht den Satz bereitstellbarer Anwendungen)

Die neueste Version von

Publish unterstützt nur das Kompilieren von Code-Behind-Dateien , sodass sich bei der Bereitstellung keine Änderungen ergeben .aspx Datei.

Standardmäßig ist es in mehreren Anwendungssätzen im Verzeichnis

Bin vorkompiliert. Normalerweise entspricht ein Verzeichnis einem Anwendungssatz. Mit der Bereitstellungsoption

Feste Namen

kann jede WEB-Seite oder jede WEB Benutzersteuerung erstellt werden Anwendungssatz, sodass jede Seite über einen bereitstellbaren Anwendungssatz verfügt. Allerdings erhöht die Bereitstellungsoption feste Namen die Anzahl der Anwendungssätze und die tatsächliche Speichernutzung.

Upgrade von Visual Studio .NET 2003

Da es dasselbe WEB Projektentwicklungsmodell wie VS2003 verwendet, ist die Aktualisierung sehr, sehr einfach.

Die verschiedenen Kompilierungsoptionen des Website--Projekts unterscheiden es stark vom Visual Studio .NET 2003WEB-Projekt.

Obwohl Microsoft einen Konvertierungsassistenten bereitstellt, müssen Sie, wenn es sich bei Ihrem Projekt um ein komplexes VS2003-Projekt handelt, nach der Verwendung dieses Konvertierungsassistenten immer noch im Konvertierungshandbuch nachschlagen und eine Menge tun der Arbeit.

Wenn Sie ein Upgrade von VS2003 durchführen möchten, wird empfohlen, diese WEB-Site-Entwicklungsvorlage nicht zu verwenden. Verwenden Sie stattdessen das Projekt Webanwendung .

Welches WEB-Programmiermodell Sie wählen sollen

Option oder Aufgabe

Webanwendungsprojekte

Website-Projekte

Sie haben eine große Visual Studio .NET 2003 Web-Anwendung, die auf VS2005 migriert werden muss.

Verwenden Sie gerne das Single-Page-Code -Modell, um Website-Seiten zu entwickeln. Anstatt das Code-Behind-Modell zum Schreiben von Website-Seiten zu verwenden

Schreiben Sie Ihre Website lieber folgendermaßen:

Um beim Schreiben einer Seite schnell den Schreibeffekt zu erkennen, kompilieren Sie die Seite dynamisch. Sie können den Effekt sofort sehen, ohne die gesamte Site kompilieren zu müssen.

(Das heißt, Sie müssen die Datei nur speichern und im Browser aktualisieren, um den soeben erzielten Effekt zu sehen)

Der Name der kompilierten Anwendungsassembly muss kontrolliert werden

Erfordert einen Anwendungssatz pro Seite

Auf der Seite WEB oder der Benutzersteuerung WEB muss eine separate Klasse verwendet werden.

Sie müssen mehrere Projekte verwenden, um eine Webanwendung zu erstellen.

Müssen Ereignisse vor dem Build und nach dem Build verarbeiten (Sie benötigen Ihre eigene zusätzliche Verarbeitung davor und danach). Zusammenstellung)

Ich hoffe, ein Verzeichnis als WEB-Anwendung behandeln zu können, ohne dass eine neue Projektdatei erstellt werden muss.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der Erstellung einer neuen Website und einem neuen WEB-Projekt in VS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Über aspx.designer.csNächster Artikel:Über aspx.designer.cs