Gibt es eine einfache Möglichkeit zum Bereitstellen/Veröffentlichen einer Website in asp.net geschrieben? Und was ist der Unterschied zwischen bereitstellen und veröffentlichen?Bereitstellen/Veröffentlichen einer ASP.NET-Website?
Antwort
Hier ist eine Website, die verschiedene Techniken zum Ausführen dieser Aufgabe zeigt. Es gibt viele Techniken, die als Bereitstellungsstrategie für Ihre Web-Anwendung genutzt werden können .:
Alt + B + H Kombination (öffnet für ASP.NET Web-Site/Anwendungsfenster veröffentlichen) ist die Einfachste Möglichkeit, eine Anwendung am gewünschten Speicherort bereitzustellen.
Veröffentlichen zum Kompilieren und Bereitstellen der Anwendung auf dem Server verwendet.
Nun, es hängt davon ab, was Sie aus Sicht der Verfügbarkeit/Verfügbarkeit erreichen möchten. Die Optionen publish/xcopy/installer sind interessant, aber alle vernachlässigen das Problem, dass diese Optionen Zeit benötigen. Von dem Zeitpunkt an, zu dem die erste Datei in das Verzeichnis kopiert wird, bis zu dem Zeitpunkt, zu dem die letzte Datei auf der Site kopiert wird, ist der Zustand inkonsistent. Die ASPX-Dateien beziehen sich möglicherweise auf Datenschichtobjekte, die sich noch nicht im bin-Verzeichnis befinden, oder das bin-Verzeichnis enthält möglicherweise eine DLL mit einem geänderten Satz von Parametern für eine Funktion, aber das aspx-Objekt wurde nicht verwendet installiert noch, so sucht die aspx immer noch nach der alten funktion. Kurz gesagt, weil die Bereitstellung kein atomarer Prozess ist, können/werden Sie Probleme haben.
Wir haben dieses Problem behoben, indem Sie die neuen Dateien in einem neuen Verzeichnis installieren und dann in IIS wechseln und die Website so ändern, dass sie auf das neue Verzeichnis verweist. Dies macht die Änderung zu einem atomaren Prozess und macht die Dinge viel reibungsloser. Ist es perfekt? Nee. Sie können Viewstate-Probleme oder Session-Probleme haben (die Sitzung wird beibehalten, aber vielleicht sucht der neue Code nach etwas in der Sitzung, das der alte Code nicht festgelegt hat), aber der Prozess wird dadurch viel reibungsloser.
Natürlich adressiert keine dieser Lösungen den anderen nicht-atomaren Teil der Aktualisierung der Website ... der Datenbank. Auch hier benötigt der Prozess zum Ändern des DB-Schemas Zeit. Aktualisieren Sie zuerst den Code oder die Datenbank? Kann die DB ihre Arbeit ohne die Codeänderung ändern (eine neue Spalte, die Null unterstützt oder eine Standardeinstellung hat) oder kann die Codeänderung ohne Änderung der Datenbank funktionieren (Entfernen einer Spalte)? Das ist eine fallweise Analyse und wird von keiner dieser Lösungen angesprochen.
Natürlich, wenn Sie Ihre Benutzer für eine gewisse Zeit von der Seite kicken können, dann ist das Leben einfacher, aber wenn Sie es sind versuchen, 100% uptime zu erreichen, dann ist es nicht so einfach.
Manchmal ist es nicht praktisch, Web Publish für das gewünschte Ziel einzurichten. In diesem Fall können Sie möglicherweise weiterhin auf Ihrem lokalen Computer veröffentlichen (wie unten beschrieben) und dann XCOPY auf Ihrem Ziel bereitstellen.
- In IIS der rechten Maustaste Seiten und klicken Sie auf Webseite hinzufügen
- eine neue Website, wie gezeigt einrichten und klicken Sie auf OK
- In Visual Studio (mit Administratorrechten ausgeführt wird) mit der rechten Maustaste auf Ihren ASP .NET-Webprojekt, wählen Sie Veröffentlichen ...
- Klicken Sie auf die Überschrift Profil und wählen Sie im Dropdown-Menü Neues benutzerdefiniertes Profil ... aus.
- einen Profilnamen wie „localhost44321“ Geben Sie das Profil ein als
- 1. einer Sequenztyp einer SOAP-Antwort
- 2. Erstellen einer Kopie einer Ansicht?
- 3. Überladen einer Methode einer Superklasse
- 4. Hervorhebung einer Spaltenüberschrift einer JTable
- 5. Hinzufügen einer Textansicht zu einer FrameLayout in einer bestimmten Position
- 6. Erstellen einer Instanz einer Klasse aus einer Zeichenfolge
- 7. Neustart einer Aktivität auf einer einzelnen Registerkarte in einer TabActivity?
- 8. Kürzung einer Länge einer PHP-Zeichenfolge und Einfügen einer Ellipse
- 9. Beenden einer Iteration einer Schleife aus einer Subroutine
- 10. C++ Hinzufügen einer Zahl in einer Spalte aus einer Eingabedatei
- 11. Java-Aufruf einer Funktion in einer Klasse von einer anderen
- 12. Verwenden einer AppDomain zum Instanziieren einer Klasse in einer DLL
- 13. Aufrufen einer privaten Eigenschaft einer Python-Instanz mit einer Zeichenfolge
- 14. Zuweisen einer Auswahl zu einer Variablen in einer gespeicherten Prozedur
- 15. Erstellen einer Tabelle aus einer Textdatei und Hinzufügen einer Spalte
- 16. Aufruf einer Zeigermethode auf einer Struktur in einer Karte
- 17. Aufruf einer Funktion in einer JAR-Datei aus einer Skriptdatei
- 18. Senden einer Variablen von einer Seite zu einer anderen
- 19. Behandeln einer Anforderung mit einer bestimmten Funktion in einer Komponente
- 20. Erstellen einer Sicht mit einer MKMapView und einer touchbaren Untersicht
- 21. Erstellen einer neuen Instanz einer Unterklasse innerhalb einer Basisklasse
- 22. Aufruf einer Methode auf einer Karte von einer anderen Methode
- 23. Hinzufügen einer Schaltfläche zum Entfernen einer Spalte in einer Tabelle
- 24. Hinzufügen einer Spalte einer Datentabelle zu einer anderen
- 25. Übertragen einer Zeichenfolge von einer vb.net-Anwendung zu einer anderen?
- 26. Zuweisen einer Funktion zu einer Eigenschaft einer Klasse
- 27. Aufruf einer Funktion (IBAction) in einer Klasse mit einer Schaltfläche in einer anderen Klasse (und Ansicht)
- 28. C# - Hinzufügen/Anzeigen einer Instanz einer Anwendung innerhalb einer <TabItem> einer anderen Anwendung
- 29. Hinzufügen einer Zeile aus einer Liste zu einer Zeile in einer Powershell der zweiten Liste
- 30. Laden einer PowerShell-Hashtabelle aus einer Datei?
Die Informationen in diesem Artikel ist ein wenig datiert jetzt Veröffentlichen gezeigt und klicken Sie auf. Sehen Sie sich http://weblogs.asp.net/scottgu/archive/2010/07/29/vs-2010-web-deployment.aspx für die VS2010-Optionen an. –