Compilation
Erstens gibt es einen Unterschied in der Zusammenstellung. Eine Website wird nicht auf dem Server vorkompiliert, sondern in der Datei kompiliert. Das kann ein ein Vorteil sein, denn wenn Sie etwas an Ihrer Website ändern wollen, können Sie Website etwas ändern wollen, können Sie einfach eine bestimmte Datei vom Server herunterladen, sie ändern und diese Datei wieder auf den Server hochladen, und alles funktioniert einwandfrei. In einer Web Anwendung können Sie das nicht tun, weil alles vorkompiliert ist und man am Ende nur eine einzige DLL hat. Wenn Sie etwas in einer Datei Ihres Projekts ändern Projekt ändern, müssen Sie alles neu kompilieren. Wenn Sie also die Möglichkeit haben möchten, einige Dateien auf dem Server zu ändern, ist Web Site bessere Lösung für Sie. Es erlaubt auch vielen Entwicklern an einem Projekt zu arbeiten. Website arbeiten. Auf der anderen Seite, wenn Sie nicht wollen, dass Ihr Code auf dem Server verfügbar sein soll, sollten Sie sich für eine Webanwendung entscheiden. Diese Option ist auch besser für Unit-Tests geeignet, da eine DLL-Datei als nach der Veröffentlichung Ihrer Website erstellt wird.
Project structure
Es gibt auch einen Unterschied in der Struktur des Projekts. In der Webanwendung haben Sie eine Projektdatei, wie Sie sie in einer normalen Anwendung haben. In Web Site gibt es keine traditionelle Projektdatei, sondern nur eine Lösungsdatei. Alle Verweise und Einstellungen werden in der Datei web.config gespeichert. @Page directive
Es gibt ein anderes Attribut in der @Page-Direktive für die Datei, die die mit dieser Seite verbundene Klasse enthält. In der Webanwendung ist es standardmäßig "CodeBehind", in der Website verwenden Sie "CodeFile". Sie können dies in den folgenden Beispielen sehen:
Web-Anwendung:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="WebApplication._Default" %>
Website:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
Namensräume - In dem obigen Beispiel können Sie auch einen anderen Unterschied sehen - wie Namespaces erstellt werden. In einer Webanwendung ist ein Namespace einfach ein Name des Projekts. In Website gibt es einen Standard-Namensraum ASP für dynamisch kompilierte Seiten.
Bearbeiten und fortfahren- In der Webanwendung ist die Option Bearbeiten und fortfahren verfügbar (um sie zu aktivieren, müssen Sie das Menü Extras aufrufen, auf Optionen und dann unter Debugging auf Bearbeiten und Fortsetzen klicken). Diese Funktion ist nicht verfügbar Diese Funktion funktioniert nicht in Web Site.ASP.NET MVCIwenn Sie Webanwendungen entwickeln möchten, die
ASP.NET MVC (Model View Controller) ist die beste und Standardoption Web-Anwendung. Obwohl es möglich ist, MVC in einer Web Site zu verwenden, ist es nicht empfohlen.
Zusammenfassung - Der wichtigste Unterschied zwischen ASP.NET Web Application und Web Site ist die Kompilierung. Wenn Sie also an einem größeren Projekt arbeiten, bei dem ein paar Leute es ändern können, ist es besser, Web Site zu verwenden. Aber wenn Sie ein kleineres Projekt bearbeiten, können Sie auch Web Application verwenden.