Udostępnij za pośrednictwem


Migrowanie i publikowanie aplikacji internetowej w usłudze w chmurze platformy Azure z poziomu programu Visual Studio

Uwaga

Ten artykuł dotyczy usług Azure Cloud Services (wersja klasyczna), która jest obecnie przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. Istniejące usługi utworzone za pomocą tej technologii są nadal obsługiwane za pośrednictwem usług Azure Cloud Services (wsparcie dodatkowe). W przypadku nowego programowania zalecamy użycie nowszego typu usługi przeznaczonego do określonego celu, takiego jak aplikacja systemu Azure Service, Azure Functions lub Azure Container Apps. Aby uzyskać najnowszą listę dostępnych usług, zobacz Katalog produktów platformy Azure.

Aby skorzystać z usług hostingu i możliwości skalowania platformy Azure, możesz przeprowadzić migrację i wdrożyć aplikację internetową w usłudze w chmurze platformy Azure. Wymagane są tylko minimalne zmiany. W tym artykule opisano wdrażanie tylko w usługach w chmurze; w przypadku usługi App Service zobacz Deploy a web app in aplikacja systemu Azure Service (Wdrażanie aplikacji internetowej w usłudze aplikacja systemu Azure Service).

Ważne

Ta migracja jest obsługiwana tylko w przypadku określonych projektów ASP.NET, WCF i WCF Workflow. Nie jest obsługiwana w przypadku projektów ASP.NET Core. Zobacz Obsługiwane szablony projektów.

Wymagania wstępne

Migrowanie projektu do usług w chmurze

  1. Kliknij prawym przyciskiem myszy węzeł rozwiązania i wybierz polecenie Dodaj > nowy projekt... i dodaj nowy projekt usługi Azure Cloud Service (wersja klasyczna) do istniejącego rozwiązania.

  2. W oknie dialogowym Nowa usługa w chmurze platformy Microsoft Azure (klasyczna) kliknij przycisk OK bez dodawania żadnych ról do projektu.

  3. Kliknij prawym przyciskiem myszy węzeł role w nowo dodanym projekcie usług Cloud Services i wybierz polecenie Dodaj projekt roli sieci Web w rozwiązaniu....

  4. W oknie dialogowym Kojarzenie z projektem roli wybierz projekt, który chcesz skojarzyć jako rolę internetową.

    Ważne

    Jeśli masz inne zestawy lub pliki wymagane dla tej aplikacji internetowej, musisz ręcznie ustawić właściwości tych plików. Aby uzyskać informacje o sposobie ustawiania tych właściwości, zobacz Dołączanie plików w pakiecie usługi.

Błędy i ostrzeżenia

Wszelkie ostrzeżenia lub błędy, które występują, wskazują problemy, które należy rozwiązać przed wdrożeniem na platformie Azure, takie jak brakujące zestawy.

Jeśli skompilujesz aplikację, uruchom ją lokalnie przy użyciu emulatora obliczeniowego lub opublikujesz ją na platformie Azure, może zostać wyświetlony błąd: "Określona ścieżka, nazwa pliku lub oba te elementy są zbyt długie". Ten błąd wskazuje, że długość w pełni kwalifikowanej nazwy projektu platformy Azure przekracza 146 znaków. Aby rozwiązać ten problem, przenieś rozwiązanie do innego folderu z krótszą ścieżką.

Aby uzyskać więcej informacji na temat sposobu traktowania wszelkich ostrzeżeń jako błędów, zobacz Konfigurowanie projektu usługi w chmurze platformy Azure przy użyciu programu Visual Studio.

Testowanie migracji lokalnie

  1. W programie Visual Studio Eksplorator rozwiązań kliknij prawym przyciskiem myszy dodany projekt usługi w chmurze i wybierz polecenie Ustaw jako projekt startowy.
  2. Wybierz pozycję Debuguj > Rozpocznij debugowanie (F5), aby uruchomić środowisko debugowania platformy Azure. To środowisko zapewnia emulację różnych usług platformy Azure.

Używanie bazy danych Azure SQL Database dla aplikacji

Jeśli masz parametry połączenia dla aplikacji internetowej korzystającej z lokalnej bazy danych programu SQL Server, musisz przeprowadzić migrację bazy danych do usługi Azure SQL Database i zaktualizować parametry połączenia. Aby uzyskać wskazówki dotyczące tego procesu, zapoznaj się z następującymi tematami:

Publikowanie aplikacji w usłudze Azure Cloud Service

  1. Utwórz niezbędne konta usługi w chmurze i magazynu w ramach subskrypcji platformy Azure zgodnie z opisem w temacie Przygotowanie do publikowania lub wdrażania aplikacji platformy Azure z poziomu programu Visual Studio.

  2. W programie Visual Studio kliknij prawym przyciskiem myszy projekt aplikacji i wybierz polecenie Publikuj na platformie Microsoft Azure... (co różni się od pozycji "Publikuj..." polecenie).

  3. W wyświetlonym obszarze Publikowanie aplikacja systemu Azure zaloguj się przy użyciu konta z subskrypcją platformy Azure i wybierz pozycję Dalej>.

  4. Na karcie Ustawienia Common Ustawienia > wybierz docelową usługę w chmurze z listy rozwijanej Usługa w chmurze wraz z wybranym środowiskiem i konfiguracjami.

  5. W Ustawienia zaawansowane Ustawienia >wybierz konto magazynu do użycia, a następnie wybierz pozycję Dalej>.

  6. W obszarze Diagnostyka wybierz, czy mają być wysyłane informacje do usługi Application Szczegółowe informacje.

  7. Wybierz przycisk Dalej > , aby wyświetlić podsumowanie, a następnie wybierz pozycję Publikuj , aby rozpocząć wdrażanie.

  8. Program Visual Studio otwiera okno dziennika aktywności, w którym można śledzić postęp:

    VST_AzureActivityLog

  9. (Opcjonalnie) Aby anulować proces wdrażania, kliknij prawym przyciskiem myszy element wiersza w dzienniku aktywności, a następnie wybierz polecenie Anuluj i usuń. To polecenie zatrzymuje proces wdrażania i usuwa środowisko wdrażania z platformy Azure. Uwaga: aby usunąć to środowisko wdrażania po jego wdrożeniu, należy użyć witryny Azure Portal.

  10. Aby uzyskać dostęp do aplikacji po wdrożeniu, wybierz strzałkę obok wdrożenia, gdy stan Ukończono pojawi się w dzienniku aktywności platformy Azure wraz z adresem URL. Zapoznaj się z poniższą tabelą, aby uzyskać szczegółowe informacje na temat uruchamiania określonego typu aplikacji internetowej z platformy Azure.

Korzystanie z emulatora obliczeniowego i uruchamianie aplikacji na platformie Azure

Wszystkie typy aplikacji można uruchomić w przeglądarce połączonej z debugerem programu Visual Studio, wybierając pozycję Debuguj > rozpocznij debugowanie (F5). W przypadku projektu ASP.NET Empty Web Application należy najpierw dodać stronę w aplikacji i ustawić ją jako stronę początkową .aspx projektu internetowego.

Poniższa tabela zawiera szczegółowe informacje na temat uruchamiania aplikacji na platformie Azure:

Typ aplikacji internetowej Uruchamianie na platformie Azure
Aplikacja internetowa platformy ASP.NET
(w tym Model-View-Controller (MVC) 2, MVC 3, MVC 4)
Wybierz adres URL na karcie Wdrożenie dla dziennika aktywności platformy Azure.
ASP.NET pusta aplikacja internetowa Jeśli masz domyślną .aspx stronę w aplikacji, wybierz adres URL na karcie Wdrażanie dziennika aktywności platformy Azure. Aby przejść do innej strony, wprowadź adres URL następującego formularza w przeglądarce: <deployment_url>/<page_name>.aspx
Aplikacja usługi WCF
Aplikacja usługi przepływu pracy WCF
.svc Ustaw plik jako stronę początkową projektu usługi WCF. Następnie przejdź do <deployment_url>/<service_file>.svc
Jednostki dynamiczne ASP.NET
ASP.NET danych dynamicznych LINQ to SQL
Zaktualizuj parametry połączenia zgodnie z opisem w następnej sekcji. Następnie przejdź do adresu <deployment_url>/<page_name>.aspx. W przypadku linQ to SQL należy użyć bazy danych Azure SQL Database.

Aktualizowanie ciągu Połączenie ion dla jednostek dynamicznych ASP.NET

  1. Utwórz bazę danych Usługi SQL Azure dla aplikacji internetowej jednostek dynamicznych ASP.NET zgodnie z opisem we wcześniejszej sekcji (#use-an-azuresql-database-for-your-application).

  2. Dodaj tabele i pola potrzebne dla tej bazy danych w witrynie Azure Portal.

  3. Określ parametry połączenia w web.config pliku z następującym formatem i zapisz plik:

    <add name="tempdbEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=<server name>\SQLEXPRESS;initial catalog=<database name>;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>
    

    Zaktualizuj wartość connectionString przy użyciu ADO.NET parametry połączenia dla bazy danych Azure SQL Database w następujący sposób:

    <add name="tempdbEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:<SQL Azure server name>.database.windows.net,1433;Database=<database name>;User ID=<user name>;Password=<password>;Trusted_Connection=False;Encrypt=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>
    

Obsługiwane szablony projektów

Aplikacje, które można migrować i publikować w usługach w chmurze, muszą używać jednego z szablonów w poniższej tabeli. ASP.NET Core nie jest obsługiwany.

Grupa szablonów Szablon projektu
Internet Aplikacja internetowa platformy ASP.NET (.NET Framework)
Internet aplikacja internetowa ASP.NET MVC 2
Internet aplikacja internetowa ASP.NET MVC 3
Internet aplikacja internetowa ASP.NET MVC4
Internet ASP.NET pusta aplikacja internetowa (lub witryna)
Internet ASP.NET pustej aplikacji internetowej MVC 2
Internet aplikacja internetowa jednostek danych dynamicznych ASP.NET
Internet ASP.NET dynamiczne dane LINQ to SQL Web Application
WCF Aplikacja usługi WCF
WCF Aplikacja usługi przepływu pracy WCF
Przepływ pracy Aplikacja usługi przepływu pracy WCF