Udostępnij za pośrednictwem


ASP.NET wdrażanie w Internecie przy użyciu programu Visual Studio: wdrażanie w środowisku produkcyjnym

Autor : Tom Dykstra

Pobierz projekt startowy

W tej serii samouczków pokazano, jak wdrożyć (opublikować) aplikację internetową ASP.NET w celu Azure App Service Web Apps lub dostawcy hostingu innej firmy przy użyciu programu Visual Studio 2012 lub Visual Studio 2010. Aby uzyskać informacje o serii, zobacz pierwszy samouczek z serii.

Omówienie

W tym samouczku skonfigurujesz konto platformy Microsoft Azure, utworzysz środowiska przejściowe i produkcyjne oraz wdrożysz aplikację internetową ASP.NET w środowiskach przejściowych i produkcyjnych przy użyciu funkcji publikowania jednym kliknięciem programu Visual Studio.

Jeśli wolisz, możesz wdrożyć go u innego dostawcy hostingu. Większość procedur opisanych w tym samouczku jest taka sama dla dostawcy hostingu lub platformy Azure, z tą różnicą, że każdy dostawca ma własny interfejs użytkownika do zarządzania kontami i witrynami sieci Web. Dostawcę hostingu można znaleźć w galerii dostawców w witrynie internetowej Microsoft.com.

Przypomnienie: Jeśli zostanie wyświetlony komunikat o błędzie lub coś nie działa podczas pracy z samouczkiem, zapoznaj się ze stroną Rozwiązywanie problemów w tej serii samouczków.

Uzyskiwanie konta platformy Microsoft Azure

Jeśli nie masz jeszcze konta platformy Azure, możesz utworzyć bezpłatne konto próbne w ciągu zaledwie kilku minut. Aby uzyskać szczegółowe informacje, zobacz Bezpłatna wersja próbna platformy Azure.

Tworzenie środowiska przejściowego

Uwaga

Ponieważ ten samouczek został napisany, Azure App Service dodano nową funkcję w celu zautomatyzowania wielu procesów tworzenia środowisk przejściowych i produkcyjnych. Zobacz Konfigurowanie środowisk przejściowych dla aplikacji internetowych w Azure App Service.

Jak wyjaśniono w samouczku Wdrażanie w środowisku testowym, najbardziej niezawodne środowisko testowe jest witryną internetową u dostawcy hostingu, który jest podobnie jak produkcyjna witryna internetowa. Wielu dostawców hostingu wymagałoby wyważenia korzyści związanych z znacznymi dodatkowymi kosztami, ale na platformie Azure możesz utworzyć dodatkową bezpłatną aplikację internetową jako aplikację przejściową. Potrzebujesz również bazy danych, a dodatkowe wydatki na wydatki produkcyjnej bazy danych nie będą dostępne lub minimalne. Na platformie Azure płacisz za ilość używanego magazynu bazy danych, a nie dla każdej bazy danych, a ilość dodatkowego magazynu, którego będziesz używać w środowisku przejściowym, będzie minimalna.

Jak wyjaśniono w samouczku Wdrażanie w środowisku testowym, w środowisku przejściowym i produkcyjnym wdrożysz dwie bazy danych w jednej bazie danych. Jeśli chcesz zachować je oddzielnie, proces będzie taki sam, z tą różnicą, że utworzysz dodatkową bazę danych dla każdego środowiska i wybierzesz prawidłowy ciąg docelowy dla każdej bazy danych podczas tworzenia profilu publikowania.

W tej sekcji samouczka utworzysz aplikację internetową i bazę danych do użycia w środowisku przejściowym, a następnie wdrożysz ją w środowisku przejściowym i przetestujesz przed utworzeniem i wdrożeniem w środowisku produkcyjnym.

Uwaga

W poniższych krokach pokazano, jak utworzyć aplikację internetową w Azure App Service przy użyciu portalu zarządzania Platformy Azure. W najnowszej wersji zestawu Azure SDK można to zrobić bez opuszczania programu Visual Studio przy użyciu Eksploratora serwera. W Visual Studio 2013 można również utworzyć aplikację internetową bezpośrednio w oknie dialogowym Publikowanie. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji internetowej ASP.NET w Azure App Service.

  1. W portalu zarządzania Platformy Azure kliknij pozycję Witryny internetowe, a następnie kliknij pozycję Nowy.

  2. Kliknij pozycję Witryna internetowa, a następnie kliknij pozycję Utwórz niestandardowe.

    Zostanie otwarty kreator Nowa witryna internetowa — tworzenie niestandardowe . Kreator tworzenia niestandardowego umożliwia jednoczesne tworzenie witryny internetowej i bazy danych.

  3. W kroku Tworzenie witryny internetowej kreatora wprowadź ciąg w polu Adres URL , który ma być używany jako unikatowy adres URL dla środowiska przejściowego aplikacji. Na przykład wprowadź wartość ContosoUniversity-staging123 (w tym losowe liczby na końcu, aby ustawić ją jako unikatową w przypadku, gdy zostanie pobrana grupa ContosoUniversity-staging).

    Pełny adres URL będzie składał się z wprowadzonego tutaj znaku plus sufiksu widocznego obok pola tekstowego.

  4. Z listy rozwijanej Region wybierz region znajdujący się najbliżej Ciebie.

    To ustawienie określa, w którym centrum danych będzie działać aplikacja internetowa.

  5. Z listy rozwijanej Baza danych wybierz pozycję Utwórz nową bazę danych SQL.

  6. W polu Nazwa parametrów połączenia bazy danych pozostaw wartość domyślną DefaultConnection.

  7. Kliknij strzałkę wskazującą prawą część w dolnej części pola.

    Na poniższej ilustracji przedstawiono okno dialogowe Tworzenie witryny internetowej z przykładowymi wartościami. Wprowadzony adres URL i region będą inne.

    Krok Tworzenie witryny internetowej

    Kreator przechodzi do kroku Określanie ustawień bazy danych .

  8. W polu Nazwa wprowadź wartość ContosoUniversity i losową liczbę, aby była unikatowa, na przykład ContosoUniversity123.

  9. W polu Serwer wybierz pozycję Nowy serwer SQL Database.

  10. Wprowadź nazwę administratora i hasło.

    W tym miejscu nie wprowadzasz istniejącej nazwy i hasła. Podajesz nową nazwę i hasło, które definiujesz teraz do użycia w przyszłości podczas uzyskiwania dostępu do bazy danych.

  11. W polu Region wybierz ten sam region, który został wybrany dla aplikacji internetowej.

    Utrzymywanie serwera internetowego i serwera bazy danych w tym samym regionie zapewnia najlepszą wydajność i minimalizuje wydatki.

  12. Kliknij znacznik wyboru w dolnej części pola, aby wskazać, że skończysz.

    Na poniższej ilustracji przedstawiono okno dialogowe Określanie ustawień bazy danych z przykładowymi wartościami. Wprowadzone wartości mogą być inne.

    Krok Ustawień bazy danych nowej witryny internetowej — kreator tworzenia za pomocą bazy danych

    Portal zarządzania powróci do strony Witryny sieci Web, a kolumna Stan pokazuje, że aplikacja internetowa jest tworzona. Po chwili (zazwyczaj krócej niż minutę) w kolumnie Stan zostanie wyświetlona informacja o pomyślnym utworzeniu aplikacji internetowej. Na pasku nawigacyjnym po lewej stronie liczba aplikacji internetowych na twoim koncie jest wyświetlana obok ikony Witryny internetowe , a liczba baz danych jest wyświetlana obok ikony Bazy danych SQL .

    Strona Witryny sieci Web portalu zarządzania, utworzona witryna sieci Web

    Nazwa aplikacji internetowej będzie inna niż przykładowa aplikacja na ilustracji.

Wdrażanie aplikacji w środowisku przejściowym

Po utworzeniu aplikacji internetowej i bazy danych dla środowiska przejściowego możesz wdrożyć w nim projekt.

Uwaga

Te instrukcje pokazują, jak utworzyć profil publikowania, pobierając plik publishsettings , który działa nie tylko dla platformy Azure, ale także dla dostawców hostingu innych firm. Najnowszy zestaw Azure SDK umożliwia również łączenie się bezpośrednio z platformą Azure z poziomu programu Visual Studio i wybieranie z listy aplikacji internetowych znajdujących się na koncie platformy Azure. W Visual Studio 2013 możesz zalogować się do platformy Azure w oknie dialogowym Publikowanie w sieci Web lub w oknie Eksplorator serwera. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji internetowej ASP.NET w Azure App Service.

Pobieranie pliku .publishsettings

  1. Kliknij nazwę właśnie utworzonej aplikacji internetowej.

    Kliknij witrynę, aby przejść do pulpitu nawigacyjnego

  2. W obszarze Szybki przegląd na karcie Pulpit nawigacyjny kliknij pozycję Pobierz profil publikowania.

    Link pobierania profilu publikowania

    W tym kroku zostanie pobrany plik zawierający wszystkie ustawienia, których potrzebujesz, aby wdrożyć aplikację w aplikacji internetowej. Ten plik zostanie zaimportowany do programu Visual Studio, aby nie trzeba było wprowadzać tych informacji ręcznie.

  3. Zapisz plik publishsettings w folderze, do którego można uzyskać dostęp z programu Visual Studio.

    zapisywanie pliku .publishsettings

    Ostrzeżenie

    Zabezpieczenia — plik publishsettings zawiera poświadczenia (niezakodowane), które są używane do administrowania subskrypcjami i usługami platformy Azure. Najlepszym rozwiązaniem w zakresie zabezpieczeń dla tego pliku jest tymczasowe przechowywanie go poza katalogami źródłowymi (na przykład w folderze Libraries\Documents), a następnie usunięcie go po zakończeniu importowania. Złośliwy użytkownik, który uzyskuje dostęp do pliku publishsettings , może edytować, tworzyć i usuwać usługi platformy Azure.

Tworzenie profilu publikowania

  1. W programie Visual Studio kliknij prawym przyciskiem myszy projekt ContosoUniversity w Eksplorator rozwiązań i wybierz polecenie Publikuj z menu kontekstowego.

    Zostanie otwarty Kreator publikowania w sieci Web .

  2. Kliknij kartę Profil .

  3. Kliknij przycisk Importuj.

  4. Przejdź do pobranego wcześniej pliku publishsettings , a następnie kliknij przycisk Otwórz.

    Okno dialogowe Importowanie ustawień publikowania

  5. Na karcie Połączenie kliknij pozycję Zweryfikuj połączenie , aby upewnić się, że ustawienia są poprawne.

    Po zweryfikowaniu połączenia obok przycisku Weryfikuj połączenie jest wyświetlany zielony znacznik wyboru.

    W przypadku niektórych dostawców hostingu po kliknięciu przycisku Weryfikuj połączenie może zostać wyświetlone okno dialogowe Błąd certyfikatu . W takim przypadku sprawdź, czy nazwa serwera jest oczekiwana. Jeśli nazwa serwera jest poprawna, wybierz pozycję Zapisz ten certyfikat dla przyszłych sesji programu Visual Studio i kliknij przycisk Akceptuj. (Ten błąd oznacza, że dostawca hostingu zdecydował się uniknąć wydatków na zakup certyfikatu SSL dla wdrażanego adresu URL. Jeśli wolisz nawiązać bezpieczne połączenie przy użyciu ważnego certyfikatu, skontaktuj się z dostawcą hostingu.

  6. Kliknij przycisk Dalej.

    ikona pomyślnego połączenia i przycisk Dalej na karcie Połączenie

  7. Na karcie Ustawienia rozwiń pozycję Opcje publikowania plików, a następnie wybierz pozycję Wyklucz pliki z folderu App_Data.

    Aby uzyskać informacje o innych opcjach w obszarze Opcje publikowania plików, zobacz samouczek wdrażania w usługach IIS . Zrzut ekranu przedstawiający wynik tego kroku i następujące kroki konfiguracji bazy danych znajdują się na końcu kroków konfiguracji bazy danych.

  8. W obszarze DefaultConnection w sekcji Bazy danych skonfiguruj wdrożenie bazy danych dla bazy danych członkostwa.

    1. Wybierz pozycję Aktualizuj bazę danych.

      Pole Parametry połączenia zdalnego bezpośrednio poniżej pola DefaultConnection jest wypełnione parametrami połączenia z pliku publishsettings. Parametry połączenia obejmują poświadczenia SQL Server, które są przechowywane w postaci zwykłego tekstu w pliku pubxml. Jeśli wolisz nie przechowywać ich trwale, możesz usunąć je z profilu publikowania po wdrożeniu bazy danych i przechowywać je na platformie Azure. Aby uzyskać więcej informacji, zobacz How to keep your ASP.NET database connection strings secure when deploying to Azure from Source on Scott Hanselman's blog (Jak zachować bezpieczeństwo parametrów połączenia bazy danych ASP.NET podczas wdrażania na platformie Azure ze źródła na blogu Scotta Hanselmana). 2. Kliknij pozycję Konfiguruj aktualizacje bazy danych. 3. W oknie dialogowym Konfigurowanie bazy danych Aktualizacje kliknij pozycję Dodaj skrypt SQL. 4. W polu Dodawanie skryptu SQL przejdź do skryptu aspnet-data-prod.sql zapisanego wcześniej w folderze rozwiązania, a następnie kliknij przycisk Otwórz. 5. Zamknij okno dialogowe Konfigurowanie bazy danych Aktualizacje.

  9. W obszarze SchoolContext w sekcji Bazy danych wybierz pozycję Wykonaj Migracje Code First (działa na początku aplikacji).

    Program Visual Studio wyświetla polecenie Execute Migracje Code First zamiast Update Database for DbContext classes. Jeśli chcesz użyć dostawcy dbDacFx zamiast migracji do wdrożenia bazy danych, do której uzyskujesz dostęp przy użyciu DbContext klasy, zobacz Jak mogę wdrożyć bazę danych Code First bez migracji? w często zadawanych pytaniach dotyczących wdrażania sieci Web dla programu Visual Studio i ASP.NET w witrynie MSDN.

    Karta Ustawienia wygląda teraz podobnie do następującego przykładu:

    Karta Ustawienia dla przejściowego

  10. Wykonaj następujące kroki, aby zapisać profil i zmienić jego nazwę na Staging:

    1. Kliknij kartę Profil , a następnie kliknij pozycję Zarządzaj profilami.

    2. Import utworzył dwa nowe profile, jeden dla protokołu FTP i jeden dla programu Web Deploy. Skonfigurowano profil Web Deploy: zmień nazwę tego profilu na Staging.

      Zmienianie nazwy profilu na Staging

    3. Zamknij okno dialogowe Edytowanie profilów publikowania w sieci Web .

    4. Zamknij Kreatora publikowania w sieci Web .

Konfigurowanie przekształcenia profilu publikowania dla wskaźnika środowiska

Uwaga

W tej sekcji pokazano, jak skonfigurować Web.config przekształcenia wskaźnika środowiska. Ponieważ wskaźnik znajduje się w <appSettings> elemecie, istnieje inna alternatywa dla określenia przekształcenia podczas wdrażania w Azure App Service. Aby uzyskać więcej informacji, zobacz Określanie ustawień Web.config na platformie Azure.

  1. W Eksplorator rozwiązań rozwiń węzeł Właściwości, a następnie rozwiń węzeł PublishProfiles.

  2. Kliknij prawym przyciskiem myszy pozycję Staging.pubxml, a następnie kliknij polecenie Dodaj przekształcenie konfiguracji.

    Dodawanie przekształcenia konfiguracji na potrzeby przemieszczania

    Program Visual Studio tworzy plik przekształceniaWeb.Staging.config i otwiera go.

  3. W pliku przekształceniaWeb.Staging.config wstaw następujący kod bezpośrednio po tagu otwierania configuration .

    <appSettings>
        <add key="Environment" value="Prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
    </appSettings>
    

    W przypadku korzystania z profilu publikowania przejściowego ta transformacja ustawia wskaźnik środowiska na "Prod". W wdrożonej aplikacji internetowej nie zobaczysz żadnego sufiksu, takiego jak "(Dev)" lub "(Test)" po nagłówku "Contoso University" H1.

  4. Kliknij prawym przyciskiem myszy plik Web.Staging.config i kliknij pozycję Podgląd przekształcenia , aby upewnić się, że zakodowana transformacja generuje oczekiwane zmiany.

    W oknie Web.config podglądu przedstawiono wynik zastosowania zarówno przekształceń Web.Release.config , jak i transformacjiWeb.Staging.config .

Zapobieganie publicznemu użyciu aplikacji testowej

Ważną kwestią dla aplikacji przejściowej jest to, że będzie ona aktywna w Internecie, ale nie chcesz, aby opinia publiczna korzystała z niej. Aby zminimalizować prawdopodobieństwo znalezienia i użycia go przez osoby, można użyć co najmniej jednej z następujących metod:

  • Ustaw reguły zapory, które zezwalają na dostęp do aplikacji przejściowej tylko z adresów IP używanych do testowania przejściowego.
  • Użyj zaciemnionego adresu URL, który byłby niemożliwy do zgadnięcia.
  • Utwórz plik robots.txt , aby upewnić się, że wyszukiwarki nie będą przeszukiwać aplikacji testowej i raportować linki do niego w wynikach wyszukiwania.

Pierwsza z tych metod jest najbardziej efektywna, ale nie została omówiona w tym samouczku, ponieważ wymagałoby to wdrożenia w usłudze Azure Cloud Service zamiast Azure App Service. Aby uzyskać więcej informacji na temat ograniczeń dotyczących Cloud Services i adresów IP na platformie Azure, zobacz Opcje hostingu obliczeniowego udostępniane przez platformę Azure i Blokuj określone adresy IP z uzyskiwania dostępu do roli sieci Web. Jeśli wdrażasz dostawcę hostingu innej firmy, skontaktuj się z dostawcą, aby dowiedzieć się, jak zaimplementować ograniczenia adresów IP.

W tym samouczku utworzysz plik robots.txt .

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt ContosoUniversity i kliknij pozycję Dodaj nowy element.

  2. Utwórz nowy plik tekstowy o nazwie robots.txti umieść w nim następujący tekst:

    User-agent: *
    Disallow: /
    

    Wiersz User-agent informuje wyszukiwarki, że reguły w pliku mają zastosowanie do wszystkich przeszukiwarki sieci Web wyszukiwarki (roboty), a Disallow wiersz określa, że żadne strony w witrynie nie powinny być przeszukiwane.

    Chcesz, aby aparaty wyszukiwania mogły katalogować aplikację produkcyjną, dlatego należy wykluczyć ten plik z wdrożenia produkcyjnego. W tym celu skonfigurujesz ustawienie w profilu publikowania produkcyjnego podczas jego tworzenia.

Wdrażanie w środowisku przejściowym

  1. Otwórz Kreatora publikowania w sieci Web , klikając prawym przyciskiem myszy projekt Contoso University i klikając pozycję Publikuj.

  2. Upewnij się, że wybrano profil przejściowy .

  3. Kliknij przycisk Opublikuj.

    W oknie Dane wyjściowe przedstawiono akcje wdrożenia i raporty pomyślnego ukończenia wdrożenia. Domyślna przeglądarka zostanie automatycznie otwarta pod adresem URL wdrożonej aplikacji internetowej.

Testowanie w środowisku przejściowym

Zwróć uwagę, że wskaźnik środowiska jest nieobecny (nie ma znaku "(Test)" lub "(Dev)" po nagłówku H1, co pokazuje, że transformacjaWeb.config wskaźnika środowiska zakończyła się pomyślnie.

Przemieszczanie strony głównej

Uruchom stronę Uczniowie , aby sprawdzić, czy wdrożona baza danych nie ma uczniów.

Uruchom stronę Instruktorzy , aby sprawdzić, czy kod Najpierw rozsyłał bazę danych z danymi instruktora:

Wybierz pozycję Dodaj uczniów z menu Uczniowie , dodaj ucznia, a następnie wyświetl nowego ucznia na stronie Uczniowie , aby sprawdzić, czy możesz pomyślnie napisać do bazy danych.

Na stronie Kursy kliknij pozycję Aktualizuj środki. Strona Środki aktualizacji wymaga uprawnień administratora, więc zostanie wyświetlona strona Logowanie . Wprowadź utworzone wcześniej poświadczenia konta administratora ("admin" i "prodpwd"). Zostanie wyświetlona strona Środki aktualizacji , która sprawdza, czy konto administratora utworzone w poprzednim samouczku zostało prawidłowo wdrożone w środowisku testowym.

Zażądaj nieprawidłowego adresu URL, aby spowodować błąd, który będzie śledzić ELMAH, a następnie zażądać raportu o błędzie ELMAH. Jeśli wdrażasz dostawcę hostingu innej firmy, prawdopodobnie okaże się, że raport jest pusty z tego samego powodu, że był pusty w poprzednim samouczku. Należy użyć narzędzi do zarządzania kontami dostawcy hostingu, aby skonfigurować uprawnienia do folderów, aby umożliwić ELMAH zapisywanie w folderze dziennika.

Utworzona aplikacja działa teraz w chmurze w aplikacji internetowej, która jest taka sama jak w przypadku środowiska produkcyjnego. Ponieważ wszystko działa prawidłowo, następnym krokiem jest wdrożenie w środowisku produkcyjnym.

Wdrażanie w środowisku produkcyjnym

Proces tworzenia produkcyjnej aplikacji internetowej i wdrażania w środowisku produkcyjnym jest taki sam jak w przypadku przemieszczania, z wyjątkiem tego, że należy wykluczyć robots.txt z wdrożenia. W tym celu edytujesz plik profilu publikowania.

Tworzenie środowiska produkcyjnego i profilu publikowania produkcyjnego

  1. Utwórz produkcyjną aplikację internetową i bazę danych na platformie Azure, wykonując tę samą procedurę, która była używana do przemieszczania.

    Podczas tworzenia bazy danych możesz umieścić ją na tym samym serwerze, który został utworzony wcześniej, lub utworzyć nowy serwer.

  2. Pobierz plik publishsettings .

  3. Utwórz profil publikowania, importując produkcyjny plik publishsettings , wykonując tę samą procedurę, która była używana do przemieszczania.

    Nie zapomnij skonfigurować skryptu wdrażania danych w obszarze DefaultConnection w sekcji Bazy danych na karcie Ustawienia .

  4. Zmień nazwę profilu publikowania na Produkcja.

  5. Skonfiguruj przekształcenie profilu publikowania dla wskaźnika środowiska, wykonując tę samą procedurę, która była używana do przemieszczania.

Edytuj plik pubxml, aby wykluczyć robots.txt

Pliki profilu publikowania mają nazwę <profilename.pubxml> i znajdują się w folderze PublishProfiles. Folder PublishProfiles znajduje się w folderze Properties w projekcie aplikacji internetowej języka C# w folderze Mój projekt w projekcie aplikacji internetowej VB lub w folderze App_Data w projekcie aplikacji internetowej. Każdy plik pubxml zawiera ustawienia, które mają zastosowanie do jednego profilu publikowania. Wartości wprowadzone w Kreatorze publikowania w sieci Web są przechowywane w tych plikach i można je edytować, aby tworzyć lub zmieniać ustawienia, które nie są udostępniane w interfejsie użytkownika programu Visual Studio.

Domyślnie pliki pubxml są uwzględniane w projekcie podczas tworzenia profilu publikowania, ale można je wykluczyć z projektu, a program Visual Studio nadal będzie ich używać. Program Visual Studio znajduje się w folderze PublishProfiles dla plików pubxml , niezależnie od tego, czy są one uwzględnione w projekcie.

Dla każdego pliku pubxml znajduje się plik .pubxml.user . Plik .pubxml.user zawiera zaszyfrowane hasło, jeśli wybrano opcję Zapisz hasło , a domyślnie jest on wykluczony z projektu.

Plik .pubxml zawiera ustawienia dotyczące określonego profilu publikowania. Jeśli chcesz skonfigurować ustawienia, które mają zastosowanie do wszystkich profilów, możesz utworzyć plik .wpp.targets . Proces kompilacji importuje te pliki do pliku projektu csproj lub vbproj , dzięki czemu większość ustawień, które można skonfigurować w pliku projektu, można skonfigurować w tych plikach. Aby uzyskać więcej informacji o plikach .pubxml i plikach wpp.targets , zobacz How to: Edit Deployment Settings in Publish Profile (.pubxml) Files and the .wpp.targets File in Visual Studio Web Projects (Jak edytować ustawienia wdrożenia w plikach publish profile (.pubxml) i pliku .wpp.targets w projektach sieci Web programu Visual Studio.

  1. W Eksplorator rozwiązań rozwiń węzeł Właściwości i rozwiń węzeł PublishProfiles.

  2. Kliknij prawym przyciskiem myszy pozycję Production.pubxml i kliknij przycisk Otwórz.

    Otwieranie pliku .pubxml

  3. Kliknij prawym przyciskiem myszy plik Production.pubxml i kliknij przycisk Otwórz.

  4. Dodaj następujące wiersze bezpośrednio przed elementem zamykającym PropertyGroup :

    <ExcludeFilesFromDeployment>
        robots.txt
    </ExcludeFilesFromDeployment>
    

    Plik .pubxml wygląda teraz jak w poniższym przykładzie:

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>MSDeploy</WebPublishMethod>
        <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <SiteUrlToLaunchAfterPublish>http://contosou-staging.azurewebsites.net</SiteUrlToLaunchAfterPublish>
        <ExcludeApp_Data>True</ExcludeApp_Data>
        <MSDeployServiceURL>waws-prod-bay-001.publish.azurewebsites.windows.net:443</MSDeployServiceURL>
        <DeployIisAppPath>contosou-staging</DeployIisAppPath>
        <RemoteSitePhysicalPath />
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName>[username]</UserName>
        <_SavePWD>True</_SavePWD>
        <PublishDatabaseSettings>
          <!-- database settings removed -->
        </PublishDatabaseSettings>
        <ExcludeFilesFromDeployment>
            robots.txt
        </ExcludeFilesFromDeployment>
      </PropertyGroup>
      <ItemGroup>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)SchoolContext-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
      </ItemGroup>
    </Project>
    

    Aby uzyskać więcej informacji na temat wykluczania plików i folderów, zobacz Czy można wykluczyć określone pliki lub foldery z wdrożenia? w temacie Web Deployment FAQ for Visual Studio and ASP.NET on MSDN (Często zadawane pytania dotyczące wdrażania w sieci Web dla programu Visual Studio i ASP.NET w witrynie MSDN).

Wdrażanie w środowisku produkcyjnym

  1. Otwórz Kreatora publikowania w sieci Web upewnij się, że wybrano profil publikowania produkcyjnego , a następnie kliknij przycisk Rozpocznij podgląd na karcie Podgląd , aby sprawdzić, czy plik robots.txt nie zostanie skopiowany do aplikacji produkcyjnej.

    Podgląd plików do opublikowania w środowisku produkcyjnym

    Przejrzyj listę plików, które zostaną skopiowane. Zobaczysz, że wszystkie pliki .cs, w tym .aspx.cs, .aspx.designer.cs, Master.cs i Master.designer.cs zostaną pominięte. Cały ten kod został skompilowany w plikachContosoUniversity.dll i ContosoUniversity.pdb , które znajdziesz w folderze bin . Ponieważ do uruchomienia aplikacji jest wymagany tylko .dll, a wcześniej określono, że do środowiska docelowego nie zostały skopiowane tylko pliki potrzebne do uruchomienia aplikacji. Folder obj i pliki ContosoUniversity.csproj i .csproj.user zostaną pominięte z tego samego powodu.

    Kliknij pozycję Publikuj , aby wdrożyć w środowisku produkcyjnym.

  2. Przetestuj w środowisku produkcyjnym, wykonując tę samą procedurę, która była używana do przemieszczania.

    Wszystko jest identyczne z przemieszczaniem, z wyjątkiem adresu URL i braku pliku robots.txt .

Podsumowanie

Aplikacja internetowa została pomyślnie wdrożona i przetestowana i jest dostępna publicznie przez Internet.

Produkcja na stronie głównej

W następnym samouczku zaktualizujesz kod aplikacji i wdrożysz zmianę w środowiskach testowych, przejściowych i produkcyjnych.

Uwaga

Aplikacja jest używana w środowisku produkcyjnym, ale należy wdrożyć plan odzyskiwania. Oznacza to, że należy okresowo tworzyć kopie zapasowe baz danych z aplikacji produkcyjnej do bezpiecznej lokalizacji przechowywania i przechowywać kilka pokoleń takich kopii zapasowych. Po zaktualizowaniu bazy danych należy utworzyć kopię zapasową bezpośrednio przed zmianą. Następnie, jeśli popełnisz błąd i nie wykryjesz go dopiero po wdrożeniu go w środowisku produkcyjnym, nadal będzie można odzyskać bazę danych do stanu, w którym znajdowała się przed uszkodzeniem. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowej i przywracanie bazy danych SQL na platformie Azure.

Uwaga

W tym samouczku wdrażana wersja SQL Server to Azure SQL Database. Chociaż proces wdrażania jest podobny do innych wersji SQL Server, prawdziwa aplikacja produkcyjna może wymagać specjalnego kodu dla usługi Azure SQL Database w niektórych scenariuszach. Aby uzyskać więcej informacji, zobacz Praca z bazą danych Azure SQL i Wybieranie między SQL Server a bazą danych Azure SQL.