Wdrażanie witryny przy użyciu programu Visual Studio (C#)
Autor : Scott Mitchell
Program Visual Studio zawiera narzędzia do wdrażania witryny internetowej. Dowiedz się więcej o tych narzędziach w tym samouczku.
Wprowadzenie
W poprzednim samouczku przedstawiono sposób wdrażania prostej aplikacji internetowej ASP.NET u dostawcy hosta sieci Web. W szczególności w samouczku pokazano, jak używać klienta FTP, takiego jak FileZilla, do transferu niezbędnych plików ze środowiska deweloperskiego do środowiska produkcyjnego. Program Visual Studio oferuje również wbudowane narzędzia ułatwiające wdrażanie dostawcy hosta sieci Web. Ten samouczek analizuje dwa z tych narzędzi: narzędzie do kopiowania witryny sieci Web, w którym można przenosić pliki do i ze zdalnego serwera internetowego przy użyciu rozszerzeń FTP lub FrontPage Server; i narzędzie Publikuj, które kopiuje całą witrynę internetową do określonej lokalizacji.
Uwaga
Innym narzędziem związanymi z wdrażaniem oferowanym przez program Visual Studio jest dodatek Web Setup Projects . Projekty instalatora sieci Web pakuje zawartość i informacje o konfiguracji witryny internetowej do pojedynczego pliku MSI. Ta opcja jest najbardziej przydatna w przypadku witryn internetowych wdrożonych w intranecie lub dla firm, które sprzedają wstępnie spakowane aplikacje internetowe instalowane przez klientów na własnych serwerach internetowych. Projekty wdrażania w Internecie Add-In to program Visual Studio Add-In, który ułatwia określanie różnic konfiguracji między kompilacjami środowisk deweloperskich i środowisk produkcyjnych. Projekty konfiguracji sieci Web nie zostały omówione w tej serii samouczków; Projekty wdrażania sieci Web zostały podsumowane w samouczku Common Configuration Differences Between Development and Production (Typowe różnice konfiguracji między programowaniem i produkcją ).
Wdrażanie witryny przy użyciu narzędzia do kopiowania witryny sieci Web
Narzędzie kopiowania witryny sieci Web programu Visual Studio jest podobne do autonomicznego klienta FTP. W skrócie narzędzie do kopiowania witryny sieci Web umożliwia łączenie się ze zdalną witryną internetową za pośrednictwem protokołu FTP lub rozszerzeń serwera programu FrontPage. Podobnie jak w przypadku interfejsu użytkownika filezilla, interfejs użytkownika kopiuj witrynę sieci Web składa się z dwóch okienek: lewe okienko wyświetla listę plików lokalnych, a okienko po prawej stronie wyświetla te pliki na serwerze docelowym.
Uwaga
Narzędzie kopiuj witrynę sieci Web jest dostępne tylko dla projektów witryn sieci Web. Program Visual Studio oferuje to narzędzie podczas pracy z projektem aplikacji internetowej.
Przyjrzyjmy się użyciu narzędzia do kopiowania witryny sieci Web w celu opublikowania aplikacji Book Review w środowisku produkcyjnym. Ponieważ narzędzie kopiuj witrynę sieci Web działa tylko z projektami korzystającymi z modelu projektu witryny sieci Web, możemy sprawdzić tylko za pomocą tego narzędzia w projekcie BookReviewsWSP. Otwórz ten projekt.
Uruchom projekt narzędzia Kopiuj witrynę sieci Web, klikając ikonę Kopiuj witrynę sieci Web w Eksplorator rozwiązań (ta ikona jest okręgowa na rysunku 1). Alternatywnie możesz wybrać opcję Kopiuj witrynę sieci Web z menu Witryna internetowa. Każda z metod uruchamia interfejs użytkownika kopiowania witryny sieci Web pokazany na rysunku 1; tylko lewe okienko na rysunku 1 jest wypełnione, ponieważ nie nawiązaliśmy jeszcze połączenia z serwerem zdalnym.
Rysunek 1. Interfejs użytkownika narzędzia do kopiowania witryny sieci Web jest podzielony na dwa okienka (kliknij, aby wyświetlić obraz w pełnym rozmiarze)
Aby wdrożyć naszą witrynę, musimy najpierw nawiązać połączenie z dostawcą hosta sieci Web. Kliknij przycisk Połącz w górnej części interfejsu użytkownika Kopiuj witrynę sieci Web. Spowoduje to wyświetlenie okna dialogowego Otwieranie witryny sieci Web pokazanego na rysunku 2.
Możesz nawiązać połączenie z docelową witryną internetową, wybierając jedną z czterech opcji po lewej stronie:
- System plików — wybierz tę opcję, aby wdrożyć lokację w folderze lub udziale sieciowym dostępnym z komputera.
- Lokalne usługi IIS — użyj tej opcji, aby wdrożyć lokację na serwerze sieci Web usług IIS zainstalowanym na komputerze.
- Witryna FTP — łączenie się ze zdalną witryną sieci Web przy użyciu protokołu FTP.
- Witryna zdalna — połącz się ze zdalną witryną internetową przy użyciu rozszerzeń serwera programu FrontPage.
Większość dostawców hostów internetowych obsługuje protokół FTP, ale mniejsza liczba oferuje obsługę rozszerzenia serwera FrontPage. Z tego powodu wybrano opcję Witryna FTP, a następnie wprowadzono informacje o połączeniu, jak pokazano na rysunku 2.
Rysunek 2. Określanie docelowej witryny sieci Web (kliknij, aby wyświetlić obraz o pełnym rozmiarze)
Po nawiązaniu połączenia narzędzie Kopiuj witrynę sieci Web ładuje pliki w lokacji zdalnej w okienku po prawej stronie i wskazuje stan każdego pliku: Nowy, Usunięty, Zmieniony lub Niezmieniony. Możesz skopiować plik z lokacji lokalnej do lokacji zdalnej lub na odwrót.
Dodajmy nową stronę do projektu BookReviewsWSP, a następnie wdrożymy ją, aby zobaczyć, jak działa narzędzie Kopiuj witrynę sieci Web. Utwórz nową stronę ASP.NET w programie Visual Studio w katalogu głównym o nazwie Privacy.aspx
. Strona używa strony Site.master
wzorcowej i dodaj do tej strony zasady ochrony prywatności witryny. Rysunek 3 przedstawia program Visual Studio po utworzeniu tej strony.
Rysunek 3. Dodawanie nowej strony o nazwie Privacy.aspx
do folderu głównego witryny sieci Web (kliknij, aby wyświetlić obraz o pełnym rozmiarze)
Następnie wróć do interfejsu użytkownika kopiuj witrynę sieci Web. Jak pokazano na rysunku 4, okienko po lewej stronie zawiera teraz nowe pliki — Policy.aspx
i Policy.aspx.cs
. Co więcej, te pliki są oznaczone ikoną strzałki i stanem Nowy, co oznacza, że istnieją w lokacji lokalnej, ale nie w lokacji zdalnej.
Rysunek 4. Narzędzie kopiowania witryny sieci Web zawiera nową Privacy.aspx
stronę w okienku po lewej stronie (kliknij, aby wyświetlić obraz pełnowymiarowy)
Aby wdrożyć nowe pliki, zaznacz je, a następnie kliknij ikonę strzałki, aby przenieść je do lokacji zdalnej. Po zakończeniu Policy.aspx
transferu pliki i Policy.aspx.cs
istnieją zarówno w lokacjach lokalnych, jak i zdalnych o stanie Niezmienione.
Oprócz wyświetlania listy nowych plików narzędzie kopiuj witrynę sieci Web wyróżnia wszystkie pliki, które różnią się między lokacjami lokalnymi i zdalnymi. Aby zobaczyć to działanie, wróć do Privacy.aspx
strony i dodaj kilka kolejnych słów do zasad ochrony prywatności. Zapisz stronę, a następnie wróć do narzędzia do kopiowania witryny sieci Web. Jak pokazano na Privacy.aspx
rysunku 5, strona w okienku po lewej stronie ma stan Zmieniono wskazujący, że nie jest zsynchronizowana z lokacją zdalną.
Rysunek 5. Narzędzie kopiowania witryny sieci Web wskazuje, że Privacy.aspx
strona została zmieniona (kliknij, aby wyświetlić obraz o pełnym rozmiarze)
Narzędzie do kopiowania witryny sieci Web wskazuje również, czy plik został usunięty od ostatniej operacji kopiowania. Usuń element Privacy.aspx
z projektu lokalnego i odśwież narzędzie Kopiuj witrynę sieci Web. Pliki Privacy.aspx
i Privacy.aspx.cs
pozostają wyświetlane w okienku po lewej stronie, ale mają stan Usunięty wskazujący, że zostały usunięte od ostatniej operacji kopiowania.
Publikowanie aplikacji internetowej
Innym sposobem wdrożenia aplikacji internetowej z poziomu programu Visual Studio jest użycie opcji Publikuj, która jest dostępna za pośrednictwem menu Kompilacja. Opcja Publikuj jawnie kompiluje aplikację, a następnie kopiuje wszystkie niezbędne pliki do określonej lokacji zdalnej. Jak zobaczymy wkrótce, opcja Publikuj jest bardziej tępa niż narzędzie kopiuj witrynę sieci Web. Podczas gdy narzędzie Kopiuj witrynę sieci Web umożliwia badanie plików w witrynach lokalnych i zdalnych oraz umożliwia przekazywanie lub pobieranie pojedynczych plików zgodnie z potrzebami, opcja Publikuj wdraża całą aplikację internetową.
Oprócz kopiowania wszystkich wymaganych plików do określonej lokacji zdalnej, opcja Publikuj również jawnie kompiluje aplikację. Biorąc pod uwagę, że projekty aplikacji internetowych muszą być jawnie skompilowane, nie powinno być zaskoczeniem, że opcja Publikuj jest dostępna dla projektów aplikacji internetowych. Co może być nieco zaskakujące, jest to, że opcja Publikuj jest również dostępna dla projektów witryn sieci Web. Jak wspomniano w samouczku Określanie plików, które należy wdrożyć , projekty witryn sieci Web można jawnie skompilować za pomocą procesu określanego jako wstępna kompilacja. Ten samouczek koncentruje się na korzystaniu z opcji Publikuj z projektami aplikacji internetowej; W przyszłym samouczku zapoznamy się ze wstępną kompilacją. W tym momencie wrócimy do korzystania z opcji Publikuj z projektami witryn sieci Web.
Uwaga
Chociaż opcja Publikuj jest dostępna w programie Visual Studio dla projektów witryn sieci Web i projektów aplikacji internetowych, program Visual Web Developer oferuje tylko opcję Publikuj dla projektów aplikacji internetowych.
Przyjrzyjmy się wdrożeniu aplikacji Recenzje książek przy użyciu opcji Publikuj. Zacznij od otwarcia bookReviewsWAP (projektu aplikacji internetowej) w programie Visual Studio. Z menu Publikuj wybierz projekt Build BookReviewsWAP. Spowoduje to wyświetlenie okna dialogowego z monitem o lokalizację docelową między innymi opcjami konfiguracji (zobacz Rysunek 6). Podobnie jak w przypadku narzędzia do kopiowania witryny sieci Web można wprowadzić lokalizację wskazującą folder lokalny, lokalną witrynę internetową w usługach IIS, zdalną witrynę internetową, która obsługuje rozszerzenia serwera programu FrontPage lub adres serwera FTP. Przed opublikowaniem można wybrać, czy zastąpić pliki na zdalnym serwerze sieci Web wdrożonymi plikami, czy usunąć całą zawartość w witrynie zdalnej. Możesz również określić, czy chcesz skopiować:
- Tylko pliki w projekcie potrzebne do uruchomienia aplikacji, która pomija niepotrzebny kod źródłowy i pliki związane z projektem.
- Wszystkie pliki projektu, w tym pliki kodu źródłowego i pliki projektu programu Visual Studio, takie jak plik rozwiązania.
- Wszystkie pliki w źródłowym folderze projektu, który kopiuje wszystkie pliki w folderze projektu źródłowego niezależnie od tego, czy są one zawarte w projekcie.
Istnieje również możliwość przekazania zawartości App_Data
folderu.
Rysunek 6. Określanie docelowej witryny sieci Web (kliknij, aby wyświetlić obraz w pełnym rozmiarze)
W przypadku aplikacji Book Review witryna zdalna zawiera pliki wdrożone podczas kopiowania projektu BookReviewsWSP za pośrednictwem narzędzia Do kopiowania witryny sieci Web. W związku z tym wybierzmy opcję Publikuj, usuwając całą istniejącą zawartość. Skopiujmy również niezbędne pliki zamiast zaśmiecać środowisko produkcyjne niepotrzebnym kodem źródłowym i plikami projektu. Po określeniu tych opcji kliknij przycisk Publikuj. W ciągu najbliższych kilku sekund program Visual Studio wdroży niezbędne pliki w lokacji docelowej, wyświetlając postęp w oknie Dane wyjściowe.
Rysunek 7 przedstawia pliki w witrynie FTP po zakończeniu operacji publikowania. Należy pamiętać, że przekazano tylko strony znaczników i niezbędne pliki obsługi serwera i klienta.
Rysunek 7. Tylko wymagane pliki zostały opublikowane w środowisku produkcyjnym (kliknij, aby wyświetlić obraz pełnowymiarowy)
Opcja Publikuj jest mniej zniuansowanym narzędziem niż narzędzie kopiuj witrynę sieci Web. Podczas gdy narzędzie Kopiuj witrynę sieci Web umożliwia inspekcję plików w witrynach lokalnych i zdalnych i sprawdzenie, jak się różnią, opcja Publikuj nie zapewnia takiego interfejsu. Ponadto narzędzie kopiuj witrynę sieci Web umożliwia wprowadzanie jednorazowych zmian, przekazywanie lub usuwanie pojedynczych plików. Opcja Publikuj nie zezwala na taką precyzyjną kontrolkę; zamiast tego publikuje całą aplikację. To zachowanie ma swoje zalety i wady. Po stronie plusa wiesz, kiedy używasz opcji Publikuj, nie zapomnisz o przekazaniu ważnego pliku. Należy jednak rozważyć, co się stanie, jeśli wprowadzono niewielką zmianę w bardzo dużej witrynie internetowej — z opcją Publikuj nie można zaktualizować tej strony lub dwóch, które zostały zmodyfikowane, ale zamiast tego należy poczekać, aż program Visual Studio wdroży całą witrynę.
Nie jest rzadkością, że istnieją pewne pliki, których zawartość różni się między środowiskami produkcyjnymi i deweloperskimi. Kluczowym przykładem jest plik konfiguracji aplikacji. Web.config
Ponieważ opcja Publikuj niewidomo kopiuje pliki aplikacji internetowej, zastępuje niestandardowe pliki konfiguracji środowiska produkcyjnego z wersją w środowisku deweloperskim. W kolejnym samouczku omówiono ten temat i przedstawiono wskazówki dotyczące wdrażania aplikacji internetowej, gdy istnieją takie różnice.
Podsumowanie
Wdrożenie witryny internetowej obejmuje kopiowanie niezbędnych plików ze środowiska deweloperskiego do środowiska produkcyjnego. W poprzednim samouczku pokazano, jak przesyłać pliki przy użyciu klienta FTP, takiego jak FileZilla. W tym samouczku przeanalizowano dwa narzędzia wdrażania w programie Visual Studio: narzędzie Kopiuj witrynę sieci Web i opcję Publikuj. Narzędzie do kopiowania witryny sieci Web jest podobne do klienta FTP w tym, że ma dwusieciowy interfejs zawierający listę plików na komputerze lokalnym i określony komputer zdalny, który ułatwia przekazywanie lub pobieranie plików między dwoma komputerami. Opcja Publikuj jest bardziej tępym narzędziem, które jawnie kompiluje projekt, a następnie wdraża całą aplikację w określonym miejscu docelowym.
Szczęśliwe programowanie!
Dalsze informacje
Aby uzyskać więcej informacji na temat tematów omówionych w tym samouczku, zapoznaj się z następującymi zasobami: