Exemplarische Vorgehensweise: Bereitstellen eines Webanwendungsprojekts mit einem Webbereitstellungspaket (Teil 1 von 4)
Dies ist die erste in einer Reihe von exemplarischen Vorgehensweisen, in denen die Bereitstellung eines Webanwendungsprojekts mit einem Webbereitstellungspaket erörtert wird. In dieser Reihe erstellen Sie ein Dateisystem-Webanwendungsprojekt. Sie stellen es zuerst auf dem lokalen Computer für lokale IIS-Tests bereit und dann auf einem Stagingserver. Das Bereitstellungspaket, das Sie für die Bereitstellung auf dem Stagingserver verwenden, wird so konfiguriert, dass es für die Bereitstellung auf einem Produktionsserver verwendet werden kann.
In dieser Reihe von exemplarischen Vorgehensweisen werden folgende Aufgaben demonstriert:
Erstellen eines Pakets für die Debugbuildkonfiguration
Erstellen eines Pakets für die Releasebuildkonfiguration
Transformieren der Einstellungen der Web.config-Datei für die Zielumgebung
Einschließen von benutzerdefinierten SQL-Skripts während der Bereitstellung
Erneute Bereitstellung einer Datenbank, die bereits bereitgestellt wurde
Ausschluss einer bereits bereitgestellten Datenbank von der Bereitstellung
Bereitstellen mehrerer Entwicklungsdatenbanken in einer einzelnen Zieldatenbank
Bereitstellen der standardmäßigen ASP.NET-Mitgliedschaftsdatenbank sowohl mit als auch ohne der auf dem lokalen Computer erstellten Kontoinformationen
Verwendung von benutzerdefinierten Bereitstellungsparametern für Konfigurationswerte, die beim Installieren des Pakets änderbar sein sollen
Installieren eines Pakets auf dem lokalen Computer mit IIS-Manager
Installieren eines Pakets auf einem Remotecomputer mithilfe der Datei "deploy.cmd"
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Erstellen eines Pakets für die Debugbuildkonfiguration
Transformieren der Einstellungen der Web.config-Datei für die Zielumgebung
Bereitstellen mehrerer Entwicklungsdatenbanken in einer einzelnen Zieldatenbank
Einschließen von benutzerdefinierten SQL-Skripts während der Bereitstellung
Bereitstellen der standardmäßigen ASP.NET-Mitgliedschaftsdatenbank mit auf dem lokalen Computer erstellten Kontoinformationen
Installieren eines Pakets auf dem lokalen Computer mit IIS-Manager
Vorbereitungsmaßnahmen
Für die Durchführung dieser Reihe von exemplarischen Vorgehensweisen benötigen Sie Folgendes:
Visual Studio oder Visual Web Developer Express.
Hinweis
Wenn Sie Visual Studio verwenden, wird in der exemplarischen Vorgehensweise angenommen, dass Sie beim ersten Start von Visual Studio die Einstellungsauflistung Webentwicklung ausgewählt haben.Weitere Informationen finden Sie unter Gewusst wie: Auswählen von Umgebungseinstellungen für die Webentwicklung.
SQL Server Express 2008 oder eine höhere Version. (Wird standardmäßig mit Visual Studio installiert.)
Die MDF-Dateiversion der AdventureWorksLT-Datenbank. Diese Datei ist als Downloadpaket namens "SQL2008.AdventureWorksLT2008_Only_Database.zip" unter Microsoft SQL Server: Database Product Samples auf der CodePlex-Website verfügbar.
IIS 7 muss auf dem lokalen Computer aktiviert sein.
ASP.NET 4 ist auf dem lokalen Computer bei IIS 7 registriert, und ein ASP.NET 4-Anwendungspool ist der Standardwebsite zugewiesen. Weitere Informationen finden Sie unter ASP.NET IIS-Registrierungstool (Aspnet_regiis.exe).
Administratorrechte auf dem lokalen Computer.
Zum Abschließen der Bereitstellungspaketinstallation für die vierte exemplarische Vorgehensweise ist zudem Folgendes erforderlich:
- Ein zweiter Computer, auf dem Sie eine Bereitstellung vornehmen können. Auch für den zweiten Computer gilt: IIS 7 muss aktiviert sein, ASP.NET 4 muss bei IIS 7 registriert sein, und ein ASP.NET 4-Anwendungspool muss der Standardwebsite zugewiesen sein. Für die Einrichtung dieses Computers sind Administratorrechte erforderlich. Wenn eine andere Person den Computer für Sie einrichtet, benötigen Sie abhängig von der verwendeten Bereitstellungsmethode ggf. Administratorrechte. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Bereitstellen eines Webanwendungsprojekts mit einem Webbereitstellungspaket (Teil 4 von 4) (für diese exemplarische Vorgehensweise ist der zweite Computer erforderlich).
Erstellen eines bereitzustellenden Webprojekts
In der folgenden Prozedur erstellen Sie ein Webanwendungsprojekt, das mit der Visual Studio-Projektvorlage ASP.NET-Webanwendung bereitgestellt werden soll. Sie erstellen eine standardmäßige ASP.NET-Mitgliedschaftsdatenbank, und fügen die AdventureWorksLT-Datenbank hinzu. Dann fügen Sie Steuerelemente hinzu, um Daten aus der AdventureWorksLT-Datenbank anzuzeigen.
So erstellen Sie ein bereitzustellendes Webprojekt
Klicken Sie in Visual Studio im Menü Datei auf Neues Projekt.
Hinweis
Stellen Sie sicher, dass Sie Neues Projekt und nicht Neue Website auswählen.Das Erstellen eines Bereitstellungspakets funktioniert nur bei Webanwendungsprojekten.
Das Dialogfeld Neues Projekt wird angezeigt.
Erweitern Sie im Fenster Installierte Vorlagen den Knoten Visual Basic oder Visual C# , und wählen Sie dann Web aus.
Wählen Sie die Vorlage ASP.NET-Webanwendung aus.
Das Dialogfeld Neues Projekt ähnelt der folgenden Abbildung:
Geben Sie "AdventureWorks" im Feld Name ein.
Klicken Sie auf OK.
Die Webanwendung wird erstellt. Der Ordner "App_Data" wird erstellt, um darin die Datenbanken für diese Anwendung zu speichern. Er enthält aber noch keine Datenbank.
Erweitern Sie im Projektmappen-Explorer den Ordner Konto, klicken Sie mit der rechten Maustaste auf die Datei "Register.aspx", und klicken Sie dann auf In Browser anzeigen.
Die Seite Neues Konto erstellen wird angezeigt, wie in der folgenden Abbildung dargestellt:
Geben Sie "newuser" sowohl für Benutzername als auch für Kennwort ein, geben Sie eine E-Mail-Adresse ein, und klicken Sie dann auf Benutzer erstellen.
Im Ordner "App_Data" wird die SQL Server-Datenbankdatei ASPNETDB.MDF erstellt, und die von Ihnen angegebenen Anmeldeinformationen werden in diese Datenbankdatei eingegeben. Klicken Sie auf der Symbolleiste Projektmappen-Explorer auf die Schaltfläche Alle Dateien anzeigen, um die MDF-Datei im Projektmappen-Explorer anzuzeigen.
Extrahieren Sie den Inhalt der Datei "SQL2008.AdventureWorksLT2008_Only_Database.zip" in den Ordner "App_Data" des Projekts. Informationen zu dieser Beispieldatenbank finden Sie unter Voraussetzungen weiter oben in diesem Thema.
Öffnen Sie die Datei Web.config.
Fügen Sie im connectionStrings-Element eine Verbindungszeichenfolge für die AdventureWorksLT-Datenbank hinzu, wie im folgenden Beispiel gezeigt:
<connectionStrings> <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> <add name="AWLTConnectionString" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\AdventureWorksLT2008_Data.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings>
Speichern und schließen Sie die Datei Web.config.
Öffnen Sie die Datei "Default.aspx".
Die Datei wird in der Quellansicht angezeigt.
Löschen Sie die Elemente h2 und p, und fügen Sie an ihrer Stelle das folgende Markup hinzu:
<h2> Welcome to AdventureWorks! </h2> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AWLTConnectionString %>" SelectCommand="SELECT SalesLT.Product.* FROM SalesLT.Product"> </asp:SqlDataSource> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /> <asp:BoundField DataField="Color" HeaderText="Color" SortExpression="Color" /> <asp:BoundField DataField="ListPrice" HeaderText="ListPrice" SortExpression="ListPrice" /> <asp:BoundField DataField="Size" HeaderText="Size" SortExpression="Size" /> <asp:BoundField DataField="Weight" HeaderText="Weight" SortExpression="Weight" /> </Columns> </asp:GridView>
Mit diesem Markup wird der Anwendungstitel in Adventure Works geändert und ein GridView-Steuerelement hinzugefügt, das Daten aus einer der AdventureWorksLT-Tabellen hinzufügt. Mit diesem Steuerelement können Sie überprüfen, ob die AdventureWorksLT-Daten erfolgreich bereitgestellt werden.
Speichern und schließen Sie die Datei "Default.aspx".
Optional können Sie die Überschrift in der Gestaltungsvorlage ändern, indem Sie folgende Schritte ausführen:
Öffnen Sie die Datei "Site.master".
Löschen Sie die My ASP.NET-Anwendung, und ersetzen Sie sie durch Adventure Works.
Speichern und schließen Sie die Datei.
Testen Sie die Website, indem Sie folgende Schritte ausführen:
Drücken Sie STRG+F5, um die Anwendung zu testen.
Im Browser wird die Seite "Default.aspx" angezeigt. Auf der Seite wird eine Liste von Adventure Works-Produkten angezeigt, wie in der folgenden Abbildung dargestellt:
Klicken Sie auf den Link Anmelden.
Die Seite Anmelden wird angezeigt.
Geben Sie "newuser" sowohl für Benutzername als auch für Kennwort ein, und klicken Sie dann auf Anmelden.
Die Seite "Default.aspx" wird geöffnet. Oben rechts auf der Seite wird Welcome newuser! angezeigt, wie in der folgenden Abbildung dargestellt:
Schließen Sie den Browser.
Erstellen einer Zieldatenbank
Das Webprojekt weist derzeit zwei Datenbanken auf. Sie stellen den Inhalt beider Datenbanken in einer einzelnen Datenbank bereit. In einer Produktionsumgebung kann es kostengünstigster sein, eine Datenbank statt zwei Datenbanken zu verwalten.
In der folgenden Prozedur erstellen Sie eine leere Zieldatenbank für die Bereitstellung.
So erstellen Sie eine Zieldatenbank
Klicken Sie in Server-Explorer mit der rechten Maustaste auf Datenverbindungen, und klicken Sie anschließend auf Neue SQL Server-Datenbank erstellen.
Das Dialogfeld Neue SQL Server-Datenbank erstellen wird angezeigt.
Geben Sie im Feld Servername localhost\SQLExpress ein.
Geben Sie im Feld Name der neuen Datenbank "AdventureWorksTest" ein.
Wenn Sie den Datenbanknamen eingegeben haben, sieht das Dialogfeld Neue SQL Server-Datenbank erstellen ungefähr so ähnlich wie in der folgenden Abbildung aus:
Klicken Sie auf OK.
Die neue Datenbank wird erstellt und im Ordner Datenverbindungen im Fenster Server-Explorer angezeigt, wie in der folgenden Abbildung gezeigt:
Erstellen eines Skripts zum Erteilen einer Leseberechtigung für die Zieldatenbank
Wird die Webanwendung in IIS bereitgestellt, wird sie dem ASP.NET 4-Standardanwendungspool zugewiesen, und auf diese Datenbank wird mit den Anmeldeinformationen des Anwendungspools zugegriffen. Daher müssen Sie auch ein Skript erstellen, das diesen Anmeldeinformationen eine Leseberechtigung erteilt.
In der folgenden Prozedur erstellen Sie ein Skript, das ausgeführt wird, um den Anwendungspool-Anmeldeinformationen eine Leseberechtigung für die Datenbank zu erteilen.
So erstellen Sie ein Skript, das dem Anwendungspool eine Leseberechtigung erteilt
Öffnen Sie einen Text-Editor, z. B. Editor.
Erstellen Sie eine neue Textdatei, und fügen Sie die folgenden Transact-SQL-Anweisungen in diese Datei ein:
CREATE LOGIN [IIS APPPOOL\ASP.NET v4.0] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO CREATE USER [AdventureWorksUser] FOR LOGIN [IIS APPPOOL\ASP.NET v4.0] GO EXEC sp_addrolemember 'db_datareader', 'AdventureWorksUser' GO
Hinweis
Das Skript ist mit den Standardsicherheitseinstellungen in Windows 7 und Windows Server 2008 R2 kompatibel.Wenn Sie eine ältere Version von Windows verwenden oder wenn der Computer benutzerdefinierte Sicherheitseinstellungen besitzt, ist mit den Anmeldeinformationen, die für die Website bei Ausführung in IIS verwendet werden, möglicherweise kein Zugriff auf die Datenbank verfügbar.Weitere Informationen zur SQL Server-Sicherheit finden Sie in der SQL Server-Onlinedokumentation.
Geben Sie der Datei den Namen "AdventureWorksGrant.sql", und speichern Sie die Datei in einem Ordner auf dem Computer, z. B. "C:\Temp".
Sie können das Skript in jedem beliebigen Ordner speichern. Merken Sie sich den Speicherort, da Sie im späteren Verlauf dieser exemplarischen Vorgehensweise auf das Skript zugreifen.
Festlegen der aktiven Buildkonfiguration
Standardmäßig ist die aktive Buildkonfiguration für neue Projekte "Debuggen". Sie verwenden diese Buildkonfiguration für die Erstbereitstellung in IIS auf dem lokalen Computer. In der folgenden Prozedur stellen Sie sicher, dass die richtige Buildkonfiguration ausgewählt ist.
So legen Sie die aktive Buildkonfiguration fest
Klicken Sie im Menü Erstellen auf die Option Konfigurations-Manager.
Das Dialogfeld Konfigurations-Manager wird angezeigt.
Stellen Sie in der Liste Konfiguration der aktuellen Projektmappe sicher, dass Debuggen ausgewählt ist.
Die Liste Konfiguration der aktiven Projektmappe wird in der Regel auch auf der Symbolleiste Standard angezeigt. Wird sie dort angezeigt, können Sie die Buildkonfiguration überprüfen oder ändern, ohne den Konfigurations-Manager zu öffnen.
Schließen Sie den Konfigurations-Manager.
Angeben von Einstellungen für das Bereitstellungspaket
In der folgenden Prozedur geben Sie an, welche Dateien und IIS-Einstellungen bereitgestellt werden sollen und wie das Paket erstellt werden soll.
So geben Sie Einstellungen für das Bereitstellungspaket an
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf Eigenschaften.
Die Eigenschaftenseite wird angezeigt.
Klicken Sie auf die Registerkarte Web packen/veröffentlichen.
Die Registerkarte Web packen/veröffentlichen wird wie in der folgenden Abbildung dargestellt angezeigt:
Stellen Sie in der Liste Konfiguration sicher, dass Aktiv (Debuggen) ausgewählt ist. Standardmäßig ist die aktive Buildkonfiguration ausgewählt. In der vorherigen Prozedur haben Sie die aktive Buildkonfiguration auf Debuggen festgelegt.
Stellen Sie in der Liste Bereitzustellende Elemente (gilt für alle Bereitstellungsmethoden) sicher, dass das Kontrollkästchen Nur zur Ausführung der Anwendung erforderliche Dateien aktiviert ist.
Stellen Sie sicher, dass das Kontrollkästchen Generierte Debugsymbole ausschließen deaktiviert ist.
Für diesen Teil der exemplarischen Vorgehensweise konfigurieren Sie die Bereitstellung auf einem Computer zu Testzwecken. Es soll daher möglich sein, die Website zu debuggen.
Hinweis
Ob eine bereitgestellte Website im Debugmodus ausgeführt werden kann, hängt von dieser Option und einer Einstellung in der Web.config-Datei ab.Diese Fähigkeit hängt nicht vom Namen der Buildkonfiguration ab.
Aktivieren Sie das Kontrollkästchen Dateien aus dem App_Data-Ordner ausschließen.
Das Projekt verwendet SQL Server Express-MDF-Dateien in den App_Data-Ordnern, aber zum Bereitstellen des Projekts werden Skripts in einer leeren Zieldatenbank ausgeführt. Daher stellen Sie die MDF-Dateien nicht bereit.
Stellen Sie sicher, dass das Kontrollkästchen Alle auf der Registerkarte "SQL packen/veröffentlichen" konfigurierten Datenbanken einschließen aktiviert ist. (Sie konfigurieren die Registerkarte SQL packen/veröffentlichen in der folgenden Prozedur.)
Stellen Sie sicher, dass das Kontrollkästchen Bereitstellungspaket als ZIP-Datei erstellen aktiviert ist.
Bereitstellungstools können auf Pakete angewendet werden, die als ZIP-Datei vorliegen. Wenn dieses Kontrollkästchen deaktiviert ist, wird das Paket in Form von Dateien in einer Ordnerstruktur erstellt. Dies geschieht normalerweise, um eine Archivierungskopie der bereitgestellten Website zu erstellen.
Stellen Sie sicher, dass das Feld Ort, an dem das Paket erstellt wird den folgenden Wert beinhaltet (dabei handelt es sich um den Standardwert, wenn Sie als Projektname AdventureWorks angegeben haben:
obj\Debug\Package\AdventureWorks.zip
Geben Sie im Feld Auf dem Zielserver zu verwendender IIS-Website-/Anwendungsname "Standardwebsite/AdventureWorks" ein.
Speichern Sie die Änderungen, die Sie auf der Registerkarte Web packen/veröffentlichen vorgenommen haben.
Angeben von Datenbankbereitstellungseinstellungen
In der folgenden Prozedur geben Sie an, welche Datenbanken bereitgestellt werden und wie die Bereitstellung erfolgt. Zudem geben Sie an, dass das in einer vorherigen Prozedur erstellte Skript "AdventureWorksGrant.sql" während der Bereitstellung ausgeführt werden soll.
So geben Sie SQL Server-Skripts an, die während der Bereitstellung ausgeführt werden
Klicken Sie auf die Registerkarte Verpacken/Veröffentlichen - SQL.
Die Registerkarte SQL packen/veröffentlichen wird wie in der folgenden Abbildung dargestellt angezeigt:
Klicken Sie auf Aus Web.config importieren.
Die Web.config-Datei der Anwendung wird von Visual Studio gelesen, um Verbindungszeichenfolgen zu suchen. Für jede Verbindungszeichenfolge in der Web.config-Datei wird im Raster Datenbankeinträge eine Zeile erstellt. Standardmäßig ist der Name im Raster Datenbankeinträge der Verbindungszeichenfolgenname plus ein -Deployment-Suffix.
Für diese exemplarische Vorgehensweise werden zwei Zeilen erstellt. Eine Zeile namens ApplicationServices-Deployment und eine Zeile namens AWLTConnectionString-Deployment, wie in der folgenden Abbildung gezeigt:
Stellen Sie im Raster Datenbankeinträge sicher, dass die Tabelle ApplicationServices-Deployment ausgewählt ist.
Die Felder unter dem Raster Datenbankeinträge gelten für die im Raster Datenbankeinträge ausgewählte Zeile. Wenn keine Zeile ausgewählt ist, sind die Felder unter der Tabelle deaktiviert.
Geben Sie im Feld Verbindungszeichenfolge für Zieldatenbank die Verbindungszeichenfolge für die AdventureWorksTest-Datenbank ein, die Sie in einer vorherigen Prozedur erstellt haben. Führen Sie hierzu folgende Schritte aus:
Erweitern Sie im Fenster Server-Explorer den Ordner "Datenverbindungen", und wählen Sie die AdventureWorksTest-Datenbank aus.
Wählen Sie im Eigenschaftenfenster den Wert der Eigenschaft Verbindungszeichenfolge aus, und kopieren Sie ihn. Das Eigenschaftenfenster ähnelt der folgenden Abbildung:
Fügen Sie im Feld Verbindungszeichenfolge für Zieldatenbank die Verbindungszeichenfolge ein.
Stellen Sie sicher, dass das Kontrollkästchen Daten und/oder Schema aus einer vorhandenen Datenbank extrahieren aktiviert ist.
Wenn Sie auf Aus Web.config importieren geklickt haben, wurde diese Option automatisch aktiviert. Das Feld Verbindungszeichenfolge für Quelldatenbank wurde auch automatisch mit der Verbindungszeichenfolge aus der Web.config-Datei gefüllt.
Legen Sie die Liste Optionen für Datenbankskripterstellung auf Schema und Daten fest.
Nach der Bereitstellung enthält die Zieldatenbank die Anmeldeinformationen für das Benutzerkonto, die Sie bei der Projekterstellung angegeben haben.
Wählen Sie in der Tabelle Datenbankeinträge die Zeile AWLTConnectionString-Deployment aus.
Standardwerte werden in den Feldern angezeigt, die sich unter dem Raster befinden.
Geben Sie im Feld Verbindungszeichenfolge für Zieldatenbank die gleiche Zielverbindungszeichenfolge ein, die Sie für die ApplicationServices-Datenbank eingegeben haben.
Sie verwenden die gleiche Zielverbindungszeichenfolge für beide Datenbanken. Daher werden die Skripts, die Datenbankobjekte erstellen und auffüllen, während der Bereitstellung in der gleichen Datenbank ausgeführt. Das Ergebnis ist, dass die Zieldatenbank alle Tabellen und andere Datenbankobjekte aus beiden Projektdatenbanken enthält.
Stellen Sie sicher, dass das Kontrollkästchen Daten und/oder Schema aus einer vorhandenen Datenbank extrahieren aktiviert ist.
Legen Sie die Liste Optionen für Datenbankskripterstellung auf Schema und Daten fest.
Klicken Sie auf Skript hinzufügen.
Wechseln Sie im Dialogfeld Datei auswählen zu "C:\Temp\AdventureWorksGrant.sql", und klicken Sie dann auf Öffnen. (Wenn Sie das Skript in dieser exemplarischen Vorgehensweise zuvor in einem anderen Ordner gespeichert haben, verwenden Sie diesen Ordnernamen.)
Dem Raster Datenbankskripts wird die Datei "AdventureWorksGrant.sql" hinzugefügt, wie in der folgenden Abbildung gezeigt:
Speichern Sie die Änderungen, die Sie auf der Registerkarte SQL packen/veröffentlichen vorgenommen haben.
Angeben des transaktiven Modus für das benutzerdefinierte Skript
Standardmäßig werden automatisch generierte Skripts in einer Transaktion ausgeführt. Bei benutzerdefinierten Skripts ist dies jedoch nicht der Fall. Wenn Sie Transaktionsmodi kombinieren, könnte ein Timeoutfehler auftreten, wenn die Skripts während der Bereitstellung ausgeführt werden.
In der folgenden Prozedur bearbeiten Sie die Projektdatei, um das benutzerdefinierte Skript, das Sie in der vorangehenden Prozedur hinzugefügt haben, für die Ausführung in einer Transaktion zu konfigurieren.
So geben Sie an, dass das benutzerdefinierte Skript in einer Transaktion ausgeführt werden soll
Öffnen Sie die Datei "AdventureWorks.csproj" oder "AdventureWorks.vbproj" mithilfe eines Text-Editors (z. B. Editor).
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf Ordner in Windows Explorer öffnen, um zum Projektverzeichnis zu navigieren.
Suchen Sie das PropertyGroup-Element, das sich auf die Debugbuildkonfiguration bezieht.
Das Starttag für das Element sieht in etwa folgendermaßen aus:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
Suchen Sie im PropertyGroup-Element nach dem PublishDatabaseSettings-Element.
Suchen Sie im PublishDatabaseSettings-Element nach dem ObjectGroup-Element namens AWLTConnectionString-Deployment.
Das zweite Object-Element in diesem ObjectGroup-Element ist für das Skript "AdventureWorksGrant.sql" vorgesehen.
Ändern Sie im Object-Element, das für das Skript "AdventureWorksGrant.sql" vorgesehen ist, den Wert des Transacted-Attributs des Source-Elements in True.
Das AWLTConnectionString-Deployment ObjectGroup-Element sieht nun wie im folgenden Beispiel aus:
<ObjectGroup Name="AWLTConnectionString-Deployment" Order="2"> <Destination Path="..." /> <Object Type="dbFullSql" Enabled="True"> <PreSource Path="..." ScriptSchema="True" ScriptData="True" CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" /> <Source Path="..." Transacted="True" /> </Object> <Object Type="dbFullSql" Enabled="False"> <Source Path="...\AdventureWorksGrant.sql" Transacted="True" /> </Object> </ObjectGroup>
Speichern Sie die Änderungen, und schließen Sie die Projektdatei.
Wenn Sie in Visual Studio gefragt werden, ob Sie das Projekt erneut laden möchten, klicken Sie auf die Schaltfläche Erneut laden.
Ändern der Verbindungszeichenfolge in der bereitgestellten Web.config-Datei
In der folgenden Prozedur erstellen Sie eine Transformationsdatei, die bewirkt, dass die in der Web.config-Datei bereitgestellten Datenbankverbindungszeichenfolgen auf den richtigen Wert für die Zielumgebung festgelegt werden.
So ändern Sie die Verbindungszeichenfolgen in der bereitgestellten Web.config-Datei
Erweitern Sie im Projektmappen-Explorer die Datei Web.config.
Wenn keine Datei mit dem Namen "Web.Debug.config" vorhanden ist, klicken Sie mit der rechten Maustaste auf die Web.config-Datei, und klicken Sie dann auf Konfigurationstransformationen hinzufügen.
Öffnen Sie die Datei "Web.Debug.config".
Löschen Sie den Block von Kommentaren, der ein connectionStrings-Element enthält, und ersetzen Sie ihn durch das folgende Markup. Ersetzen Sie [Verbindungszeichenfolge] durch den Wert, den Sie im Feld Verbindungszeichenfolge für Zieldatenbank eingegeben haben.
<connectionStrings> <add name="ApplicationServices" connectionString="[connection string]" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> <add name="AWLTConnectionString" connectionString="[connection string]" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> </connectionStrings>
Speichern und schließen Sie die Datei "Web.Debug.config".
Bereitstellen der Webanwendung
Als Nächstes wird das Projekt durch Erstellen eines Pakets bereitgestellt. Sie können das Paket dann mit IIS-Manager in IIS importieren.
So erstellen Sie ein Paket und importieren es in IIS
Klicken Sie im Menü Projekt auf Bereitstellungspaket erstellen.
Von Visual Studio wird das Projekt und dann das Bereitstellungspaket erstellt, und im Ausgabefenster wird ein Protokoll angezeigt. Als Teil des Paketerstellungsprozesses werden vom Web Deploy dbFullSQL-Anbieter zwei SQL Server-Skripts erstellt (ein Skript für jede Quelldatenbank). Es gibt nur eine Zieldatenbank, und beide Skripts werden in dieser Datenbank ausgeführt, wenn Sie das Paket importieren. Das folgende Beispiel veranschaulicht die Abschnitte des Ausgabefensters.
------ Erstellen gestartet: Projekt: AdventureWorks, Konfiguration: Debug Any CPU ------
...
------ Veröffentlichungsvorgang gestartet: Projekt: AdventureWorks, Konfiguration: Debug Any CPU ------
"Web.config" wurde mit "Web.Debug.config" in
"obj\Debug\TransformWebConfig\transformed\Web.config" transformiert.
...
Alle Dateien werden in den temporären Speicherort unten für das Paket/die Veröffentlichung kopiert:
obj\Debug\Package\PackageTmp.
"MSDeploy.dbFullSql (MSDeploy.dbFullSql)" wird hinzugefügt.
...
Untergeordnetes Objekt "sqlScript (MSDeploy.dbFullSql/
dbFullSql [@ path='c:\users\username\documents\visual Studio 2010\" wird hinzugefügt.
Projects\AdventureWorks\AdventureWorksCS\obj\Debug\AutoScripts\
ApplicationServices-Deployment_SchemaAndData.sql's]/sqlScript.
...
Der deklarierte Parameter "IIS Web Application Name" wird hinzugefügt.
Der deklarierte Parameter "ApplicationServices-Deployment Connection String" wird hinzugefügt.
Der deklarierte Parameter "AWLTConnectionString-Deployment Connection String" wird hinzugefügt.
Das Paket "AdventureWorks.zip" wurde erfolgreich als einzelne Datei
am folgenden Speicherort erstellt:
file:///c:/users/username/documents/visual%20studio%202010/
Projects/AdventureWorks/AdventureWorksCS/obj/Debug/Package
...
========== Build: 1 erfolgreich oder aktuell, Fehler bei 0, 0 übersprungen ==========
========== Veröffentlichung: 1 erfolgreich, Fehler bei 0, 0 übersprungen==========
Kopieren Sie den Pfad des Bereitstellungspakets in die Windows-Zwischenablage, indem Sie folgende Schritte ausführen:
Wenn der Ordner obj im Projektmappen-Explorer nicht angezeigt wird, klicken Sie auf der Symbolleiste Projektmappen-Explorer auf Alle Dateien anzeigen.
Erweitern Sie den Ordner "obj" und den Ordner "Debug" und anschließend den Ordner "Package".
Wählen Sie die Datei "AdventureWorks.zip" aus.
Kopieren Sie im Eigenschaftenfenster den Wert im Feld Vollständiger Pfad.
Klicken Sie in der Windows-Systemsteuerung auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager.
IIS-Manager wird geöffnet, und der Computer ist im Bereich Verbindungen ausgewählt.
Erweitern Sie im Bereich Verbindungen den Knoten für den Computer, erweitern Sie den Ordner "Sites", und wählen Sie dann Standardwebsite aus.
IIS-Manager sieht jetzt ungefähr wie in der folgenden Abbildung aus:
Klicken Sie im Bereich Aktionen auf Anwendung importieren.
Hinweis
Dieser Link ist normalerweise vorhanden, wenn Web Deploy installiert ist, und Web Deploy wird bei der Installation von Visual Studio standardmäßig installiert.Wenn der Link fehlt, öffnen Sie in der Systemsteuerung Programme und Funktionen, klicken Sie mit der rechten Maustaste auf Webbereitstellungstool, und klicken Sie dann auf Reparieren.
Der Assistent Anwendungspaket importieren wird geöffnet, und das Dialogfeld Paket auswählen wird angezeigt.
Fügen Sie im Feld Paketpfad den Pfad ein, den Sie in einem früheren Schritt kopiert haben.
Das Dialogfeld Paket auswählen sieht ungefähr so aus, wie in der folgenden Abbildung gezeigt:
Klicken Sie auf Weiter.
Das Dialogfeld Wählen Sie den Inhalt des Pakets aus wird angezeigt, wie in der folgenden Abbildung dargestellt:
Klicken Sie auf Weiter.
Das Dialogfeld Anwendungspaketinformationen eingeben wird angezeigt, wie in der folgenden Abbildung dargestellt:
Die Standardwerte für den Anwendungspfad und die Verbindungszeichenfolgen sind die Werte, die Sie auf der Registerkarte Web packen/veröffentlichen festgelegt haben.
Klicken Sie auf Weiter.
Wenn ein Dialogfeld angezeigt wird, in dem Sie bestätigen müssen, dass ASP.NET 4 auf dem Computer installiert ist (wie in der folgenden Abbildung gezeigt), weisen Sie der Standardwebsite einen ASP.NET 4-Anwendungspool zu.
Führen Sie dazu folgende Schritte aus:
Klicken Sie im Dialogfeld Anwendungspaketinformationen eingeben auf Abbrechen.
Klicken Sie im Windows-Menü Start mit der rechten Maustaste auf Eingabeaufforderung, und klicken Sie anschließend auf Als Administrator ausführen.
Wechseln Sie zum entsprechenden Ordner für .NET Framework 4. Beispiel:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
Wenn der Windows-Ordner sich auf dem Computer in einem anderen Laufwerk befindet, ersetzen Sie C durch den entsprechenden Laufwerkbuchstaben. Verwenden Sie für ein 64-Bit-Betriebssystem Framework64 anstelle von Framework.
Geben Sie den Befehl aspnet_regiis -iru -enable ein, und drücken Sie dann die EINGABETASTE.
Das Tool registriert ASP.NET bei IIS. Weitere Informationen finden Sie unter ASP.NET IIS-Registrierungstool (Aspnet_regiis.exe).
Schließen Sie das Fenster Eingabeaufforderung.
Wählen Sie in IIS-Manager Standardwebsite aus, und klicken Sie dann im Bereich Aktion auf Grundeinstellungen.
Ändern Sie den Anwendungspool in den ASP.NET-v4.0-Anwendungspool. (Sie können den Anwendungspool auf den ursprünglichen Wert zurücksetzen, nachdem Sie die exemplarische Vorgehensweise abgeschlossen haben.)
Wiederholen Sie die vorherigen Schritte zum Installieren des Pakets ab dem Link Anwendung importieren im Bereich Aktionen von IIS-Manager.
Während das Paket von Web Deploy installiert wird, wird das Dialogfeld Installationsfortschritt und Zusammenfassung angezeigt. Das Dialogfeld zeigt während der Installation eine Statusanzeige an. Wenn der Prozess abgeschlossen ist, wird im Dialogfeld ein Protokoll der vorgenommenen Schritte angezeigt, wie in der folgenden Abbildung dargestellt:
Klicken Sie auf Fertig stellen.
Testen der bereitgestellten Webanwendung
Als letzten Schritt in dieser exemplarischen Vorgehensweise wird überprüft, ob die Webanwendung ordnungsgemäß bereitgestellt wurde.
So testen Sie die Webanwendung
Öffnen Sie einen Browser, und geben Sie folgende URL ein:
https://localhost/AdventureWorks
Die Seite "Default.aspx" wird angezeigt. Die Seite sieht so aus wie bei der Ausführung des Projekts in Visual Studio. Anhand der Tabelle von Produkten können Sie erkennen, dass die AdventureWorksLT-Datenbank erfolgreich bereitgestellt wurde.
Klicken Sie auf den Link Anmelden.
Geben Sie "newuser" sowohl für Benutzername als auch für Kennwort ein, und klicken Sie dann auf Anmelden.
Die Seite "Default.aspx" wird erneut geöffnet, und neben dem Link Abmelden wird Welcome newuser! angezeigt. Dies veranschaulicht, dass die ASP.NET-Mitgliedschaftsdatenbank erfolgreich bereitgestellt wurde.
Nächste Schritte
In dieser exemplarischen Vorgehensweise haben Sie ein Dateisystem-Webanwendungsprojekt erstellt, das zwei Datenbanken enthält. Sie haben das Projekt in einer IIS-Webanwendung bereitgestellt, die eine einzelne Datenbank verwendet.
Die nächste exemplarische Vorgehensweise in der Reihe ist Exemplarische Vorgehensweise: Bereitstellen eines Webanwendungsprojekts mit einem Webbereitstellungspaket (Teil 2 von 4). In dieser exemplarischen Vorgehensweise ändern Sie die Struktur von einer der Datenbanken sowie Webseiten und stellen die Änderungen dann bereit.