Uw .NET-web-app of -service migreren naar Azure-app Service

App Service is een volledig beheerde rekenplatformservice die is geoptimaliseerd voor het hosten van schaalbare websites en webtoepassingen. In dit artikel vindt u informatie over het lift-and-shiften van een bestaande toepassing naar Azure-app Service, wijzigingen die u moet overwegen en aanvullende resources voor het overstappen naar de cloud. De meeste ASP.NET websites (webformulieren, MVC) en services (Web-API, WCF) kunnen zonder wijzigingen rechtstreeks naar Azure-app Service worden verplaatst. Sommigen hebben mogelijk kleine wijzigingen nodig, terwijl andere mogelijk een herstructurering nodig hebben.

Klaar om aan de slag te gaan? Publiceer uw ASP.NET + SQL-toepassing naar Azure-app Service.

Overwegingen

On-premises resources (inclusief SQL Server)

Controleer de toegang tot on-premises resources omdat deze mogelijk moeten worden gemigreerd of gewijzigd. Hier volgen opties voor het beperken van de toegang tot on-premises resources:

  • Maak een VPN waarmee App Service wordt verbonden met on-premises resources met behulp van Azure Virtual Networks.
  • On-premises services veilig beschikbaar maken voor de cloud zonder firewallwijzigingen met behulp van Azure Relay.
  • Afhankelijkheden, zoals een SQL-database , migreren naar Azure.
  • Gebruik platform-as-a-serviceaanbiedingen in de cloud om afhankelijkheden te verminderen. In plaats van verbinding te maken met een on-premises e-mailserver, kunt u bijvoorbeeld SendGrid gebruiken.

Poortbindingen

Azure-app Service ondersteunt poort 80 voor HTTP- en poort 443 voor HTTPS-verkeer.

Voor WCF worden de volgende bindingen ondersteund:

Binding Opmerkingen
BasicHttp
WSHttp
WSDualHttpBinding Ondersteuning voor websockets moet zijn ingeschakeld.
NetHttpBinding Ondersteuning voor websockets moet zijn ingeschakeld voor dubbelzijdige contracten.
NetHttpsBinding Ondersteuning voor websockets moet zijn ingeschakeld voor dubbelzijdige contracten.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

Verificatie

Azure-app Service ondersteunt standaard anonieme verificatie en formulierverificatie wanneer dit is bedoeld. Windows-verificatie kan worden gebruikt door alleen te integreren met Azure Active Directory en ADFS. Meer informatie over het integreren van uw on-premises mappen met Azure Active Directory.

Assembly's in de GAC (Global Assembly Cache)

Dit wordt niet ondersteund. Overweeg om vereiste assembly's te kopiëren naar de map \bin van de app. Aangepaste .msi bestanden die zijn geïnstalleerd op de server (bijvoorbeeld PDF-generatoren) kunnen niet worden gebruikt.

IIS-instellingen

Alles wat traditioneel is geconfigureerd via applicationHost.config in uw toepassing, kan nu worden geconfigureerd via Azure Portal. Dit geldt voor AppPool-bitsheid, websockets in-/uitschakelen, beheerde pijplijnversie, .NET Framework-versie (2.0/4.0), enzovoort. Als u de toepassingsinstellingen wilt wijzigen, gaat u naar Azure Portal, opent u de blade voor uw web-app en selecteert u vervolgens het tabblad Toepassing Instellingen.

IIS5-compatibiliteitsmodus

IiS5-compatibiliteitsmodus wordt niet ondersteund. In Azure-app Service worden elke web-app en alle toepassingen eronder uitgevoerd in hetzelfde werkproces met een specifieke set toepassingsgroepen.

IIS7+ schemacompatibiliteit

Sommige elementen en kenmerken zijn niet gedefinieerd in het IIS-schema van Azure-app Service. Als u problemen ondervindt, kunt u overwegen XDT-transformaties te gebruiken.

Groep van één toepassing per site

In Azure-app Service worden elke web-app en alle toepassingen eronder uitgevoerd in dezelfde groep toepassingen. Overweeg om één groep toepassingen met algemene instellingen tot stand te brengen of een afzonderlijke web-app te maken voor elke toepassing.

COM- en COM+-onderdelen

Azure-app Service staat de registratie van COM-onderdelen op het platform niet toe. Als uw app gebruikmaakt van COM-onderdelen, moeten deze worden herschreven in beheerde code en worden geïmplementeerd met de site of toepassing.

Fysieke mappen

Azure-app Service staat fysieke stationstoegang niet toe. Mogelijk moet u Azure Files gebruiken voor toegang tot bestanden via SMB. Azure Blob Storage kan bestanden opslaan voor toegang via HTTPS.

ISAPI-filters

Azure-app Service kan het gebruik van ISAPI-filters ondersteunen, maar de ISAPI-DLL moet worden geïmplementeerd met uw site en zijn geregistreerd via web.config.

HTTPS-bindingen en SSL

HTTPS-bindingen worden niet gemigreerd en de SSL-certificaten die zijn gekoppeld aan uw websites. SSL-certificaten kunnen handmatig worden geüpload nadat de sitemigratie is voltooid.

SharePoint en FrontPage

SharePoint- en FrontPage Server Extensions (FPSE) worden niet ondersteund.

Grootte van website

Gratis sites hebben een maximale grootte van 1 GB aan inhoud. Als uw site groter is dan 1 GB, moet u een upgrade uitvoeren naar een betaalde SKU. Zie Prijzen voor App Service.

Databaseomvang

Voor SQL Server-databases controleert u de huidige prijzen voor SQL Database.

Integratie van Azure Active Directory (AAD)

AAD werkt niet met gratis apps. Als u AAD wilt gebruiken, moet u de app-SKU upgraden. Zie Prijzen voor App Service.

Controle en diagnose

Uw huidige on-premises oplossingen voor bewaking en diagnose werken waarschijnlijk niet in de cloud. Azure biedt echter hulpprogramma's voor logboekregistratie, bewaking en diagnostische gegevens, zodat u problemen met web-apps kunt identificeren en opsporen. U kunt eenvoudig diagnostische gegevens inschakelen voor uw web-app in de configuratie en u kunt de logboeken bekijken die zijn vastgelegd in Azure-toepassing Insights. Meer informatie over het inschakelen van diagnostische logboekregistratie voor web-apps.

Verbinding maken iontekenreeksen en toepassingsinstellingen

Overweeg het gebruik van Azure KeyVault, een service waarmee gevoelige informatie die in uw toepassing wordt gebruikt, veilig wordt opgeslagen. U kunt deze gegevens ook opslaan als een App Service-instelling.

DNS

Mogelijk moet u DNS-configuraties bijwerken op basis van de vereisten van uw toepassing. Deze DNS-instellingen kunnen worden geconfigureerd in de aangepaste App Service-domeininstellingen.

Azure-app-service met Windows-containers

Als uw app niet rechtstreeks naar App Service kan worden gemigreerd, kunt u Overwegen App Service te gebruiken met Behulp van Windows-containers, waardoor het gebruik van de GAC-, COM-onderdelen, MSA's, volledige toegang tot .NET FX-API's, DirectX en meer mogelijk is.

Zie ook