Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Tom Dykstra
In dieser Reihe von Lernprogrammen erfahren Sie, wie Sie ein ASP.NET Webanwendungsprojekt bereitstellen (veröffentlichen), das eine SQL Server Compact-Datenbank mit Visual Studio 2012 RC oder Visual Studio Express 2012 RC für Web enthält. Sie können Visual Studio 2010 auch verwenden, wenn Sie das Web Publish Update installieren. Eine Einführung in die Reihe finden Sie im ersten Lernprogramm in der Reihe.
Ein Tutorial zeigt Bereitstellungsfunktionen, die nach der RC-Version von Visual Studio 2012 eingeführt wurden. Es erklärt, wie man andere SQL Server-Editionen als SQL Server Compact bereitstellt und wie man mithilfe von Visual Studio Azure App Service Web-Apps bereitstellt. Siehe ASP.NET Web Deployment mit Visual Studio.
Übersicht
Nach der Erstbereitstellung wird Ihre Arbeit zur Wartung und Weiterentwicklung Ihrer Website fortgesetzt, und schon bald werden Sie ein Update bereitstellen wollen. Dieses Lernprogramm führt Sie durch den Prozess der Bereitstellung eines Updates für Ihren Anwendungscode. Bei dieser Aktualisierung handelt es sich nicht um eine Datenbankänderung; im nächsten Tutorial sehen Sie, was sich bei der Bereitstellung einer Datenbankänderung unterscheidet.
Erinnerung: Wenn Beim Durchlaufen des Lernprogramms eine Fehlermeldung angezeigt wird oder etwas nicht funktioniert, überprüfen Sie unbedingt die Problembehandlungsseite.
Eine Codeänderung vornehmen
Als einfaches Beispiel für eine Aktualisierung Ihrer Anwendung fügen Sie der Seite "Kursleiter" eine Liste der Kurse hinzu, die vom ausgewählten Kursleiter unterrichtet werden.
Wenn Sie die Seite Instructors aufrufen, werden Sie feststellen, dass im Raster Select-Links vorhanden sind, die jedoch nichts anderes tun, als den Zeilenhintergrund grau zu färben.
Jetzt fügen Sie Code hinzu, der ausgeführt wird, wenn auf den Link "Auswählen " geklickt wird, und eine Liste der Kurse anzeigt, die vom ausgewählten Kursleiter unterrichtet werden.
Fügen Sie in Instructors.aspx das folgende Markup unmittelbar nach dem ErrorMessageLabel-SteuerelementLabel hinzu:
<h3>Courses Taught</h3>
<asp:ObjectDataSource ID="CoursesObjectDataSource" runat="server" TypeName="ContosoUniversity.BLL.SchoolBL"
DataObjectTypeName="ContosoUniversity.DAL.Course" SelectMethod="GetCoursesByInstructor">
<SelectParameters>
<asp:ControlParameter ControlID="InstructorsGridView" Name="PersonID" PropertyName="SelectedDataKey.Value"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="CoursesGridView" runat="server" DataSourceID="CoursesObjectDataSource"
AllowSorting="True" AutoGenerateColumns="False" SelectedRowStyle-BackColor="LightGray"
DataKeyNames="CourseID">
<EmptyDataTemplate>
<p>No courses found.</p>
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="CourseID" HeaderText="ID" ReadOnly="True" SortExpression="CourseID" />
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
<asp:TemplateField HeaderText="Department" SortExpression="DepartmentID">
<ItemTemplate>
<asp:Label ID="GridViewDepartmentLabel" runat="server" Text='<%# Eval("Department.Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Öffnen Sie die Seite und wählen Sie einen Dozenten aus. Sie sehen eine Liste der Kurse, die von diesem Kursleiter unterrichtet werden.
Bereitstellen des Code-Updates in der Testumgebung
Die Bereitstellung in der Testumgebung ist einfach, indem Sie die Ein-Klick-Veröffentlichung erneut ausführen. Um diesen Prozess schneller zu gestalten, können Sie die Symbolleiste "Web One Click Publish " verwenden.
Wählen Sie im Menü "Ansicht" die Symbolleisten und dann "Web One Click Publish" aus.
Im Projektmappen-Explorer wählen Sie das Projekt ContosoUniversity aus.
die Symbolleiste "Web One Click Publish ", wählen Sie das Veröffentlichungsprofil "Testen " aus, und klicken Sie dann auf "Web veröffentlichen" (das Symbol mit Pfeilen, die nach links und rechts zeigen).
Visual Studio stellt die aktualisierte Anwendung bereit, und der Browser wird automatisch auf der Startseite geöffnet. Führen Sie die Seite "Kursleiter" aus, und wählen Sie einen Kursleiter aus, um zu überprüfen, ob das Update erfolgreich bereitgestellt wurde.
Normalerweise würden Sie auch Regressionstests durchführen (d. h., testen Sie den Rest der Website, um sicherzustellen, dass die neue Änderung keine vorhandenen Funktionen nicht unterbricht). Für dieses Lernprogramm überspringen Sie diesen Schritt, und fahren Sie mit der Bereitstellung des Updates in der Produktion fort.
Verhindern der erneuten Bereitstellung des anfänglichen Datenbankstatus für die Produktion
In einer echten Anwendung interagieren Benutzer nach der ersten Bereitstellung mit Ihrer Produktionswebsite, und die Datenbanken werden mit Livedaten aufgefüllt. Daher möchten Sie die Mitgliedschaftsdatenbank nicht im Anfangszustand erneut bereitstellen, wodurch alle Livedaten gelöscht werden. Da SQL Server Compact-Datenbanken Dateien im ordner App_Data sind, müssen Sie dies verhindern, indem Sie die Bereitstellungseinstellungen ändern, sodass Dateien im ordner App_Data nicht bereitgestellt werden.
Öffnen Sie das Projekt-Eigenschaften-Fenster für das ContosoUniversity-Projekt, und wählen Sie die Registerkarte "Package/Publish Web" aus. Stellen Sie sicher, dass im Dropdown-Menü "Konfiguration" entweder "Aktiv (Release)" oder "Release" ausgewählt ist, und wählen Sie "Dateien aus dem Ordner App_Data ausschließen" aus.
Falls Sie sich für die zukünftige Bereitstellung eines Debugbuilds entscheiden, empfiehlt es sich, die gleiche Änderung für die Debugbuildkonfiguration vorzunehmen: Ändern Sie die Konfiguration in "Debuggen ", und wählen Sie dann "Dateien aus dem ordner App_Data ausschließen" aus.
Speichern und schließen Sie die Package/Publish Web-Registerkarte.
Hinweis
Wichtig
Stellen Sie sicher, dass Sie die Option Zusätzliche Dateien am Ziel entfernen in Ihren Veröffentlichungsprofilen nicht ausgewählt haben. Wenn Sie diese Option auswählen, löscht der Bereitstellungsprozess die Datenbanken, die Sie in App_Data auf der bereitgestellten Website haben, und er löscht den App_Data Ordner selbst.
Verhindern des Benutzerzugriffs auf die Produktionswebsite während des Updates
Die Änderung, die Sie jetzt bereitstellen, ist einfach und betrifft eine einzelne Seite. Manchmal stellen Sie jedoch größere Änderungen bereit, und in diesem Fall kann sich die Website seltsam verhalten, wenn ein Benutzer eine Seite anfordert, bevor die Bereitstellung abgeschlossen ist. Um dies zu verhindern, können Sie eine app_offline.htm Datei verwenden. Wenn Sie eine Datei namens app_offline.htm im Stammordner Ihrer Anwendung ablegen, zeigt IIS diese Datei automatisch an, anstatt Ihre Anwendung auszuführen. Um den Zugriff während der Bereitstellung zu verhindern, setzen Sie app_offline.htm in den Stammordner, führen Sie den Bereitstellungsprozess aus, und entfernen Sie dann app_offline.htm.
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe (keines der Projekte), und wählen Sie "Neuer Projektmappenordner" aus.
Benennen Sie den Ordner SolutionFiles.
Erstellen Sie im neuen Ordner eine HTML-Seite mit dem Namen app_offline.htm. Ersetzen Sie den vorhandenen Inhalt durch das folgende Markup:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contoso University - Under Construction</title>
</head>
<body>
<h1>Contoso University</h1>
<h2>Under Construction</h2>
<p>The Contoso University site is temporarily unavailable while we upgrade it. Please try again later.</p>
</body>
</html>
Sie können die app_offline.htm Datei mithilfe einer FTP-Verbindung oder des Datei-Manager-Dienstprogramms in der Systemsteuerung des Hostinganbieters auf die Website kopieren. In diesem Lernprogramm verwenden Sie den Datei-Manager.
Öffnen Sie die Systemsteuerung und wählen Sie den Datei-Manager, wie im Tutorial "Bereitstellen in der Produktionsumgebung", aus. Wählen Sie contosouniversity.com und dann "wwwroot" aus, um zum Stammordner Ihrer Anwendung zu gelangen, und klicken Sie dann auf "Hochladen".
Wählen Sie im Dialogfeld "Datei hochladen" die app_offline.htm Datei aus, und klicken Sie dann auf " Hochladen".
Navigieren Sie zur URL Ihrer Website. Sie sehen, dass die app_offline.htm Seite jetzt anstelle Ihrer Startseite angezeigt wird.
Sie sind jetzt bereit, in die Produktion einzuführen.
Bereitstellen des Codeupdates in der Produktionsumgebung
Wählen Sie in der Symbolleiste "Web One Click Publish" das Produktionsveröffentlichungsprofil aus, und klicken Sie dann auf "Web veröffentlichen".
Visual Studio stellt die aktualisierte Anwendung bereit und öffnet den Browser auf der Startseite der Website. Die app_offline.htm Datei wird angezeigt. Bevor Sie testen können, um die erfolgreiche Bereitstellung zu überprüfen, müssen Sie die app_offline.htm Datei entfernen.
Kehren Sie zur Datei-Manager-Anwendung in der Systemsteuerung zurück. Wählen Sie contosouniversity.com und wwwroot aus, wählen Sie app_offline.htm aus, und klicken Sie dann auf "Löschen".
Öffnen Sie im Browser die Seite "Kursleiter" auf der öffentlichen Website, und wählen Sie einen Kursleiter aus, um zu überprüfen, ob das Update erfolgreich bereitgestellt wurde.
Sie haben jetzt ein Anwendungsupdate bereitgestellt, das keine Datenbankänderung umfasste. Das nächste Lernprogramm zeigt, wie Sie eine Datenbankänderung bereitstellen.