Migrera din .NET-webbapp eller -tjänst till Azure App Service

App Service är en fullständigt hanterad beräkningsplattformstjänst som är optimerad för att vara värd för skalbara webbplatser och webbprogram. Den här artikeln innehåller information om hur du lyfter och flyttar ett befintligt program till Azure App Service, ändringar att tänka på och ytterligare resurser för att flytta till molnet. De flesta ASP.NET webbplatser (webbformulär, MVC) och tjänster (webb-API, WCF) kan flyttas direkt till Azure App Service utan ändringar. Vissa kan behöva mindre ändringar medan andra kan behöva omstruktureras.

Är du redo att börja? Publicera ditt ASP.NET + SQL-program till Azure App Service.

Att tänka på

Lokala resurser (inklusive SQL Server)

Kontrollera åtkomsten till lokala resurser eftersom dessa kan behöva migreras eller ändras. Följande är alternativ för att minska åtkomsten till lokala resurser:

  • Skapa ett VPN som ansluter App Service till lokala resurser med hjälp av Virtuella Azure-nätverk.
  • Exponera lokala tjänster på ett säkert sätt för molnet utan brandväggsändringar med hjälp av Azure Relay.
  • Migrera beroenden, till exempel en SQL-databas till Azure.
  • Använd plattform som en tjänst-erbjudanden i molnet för att minska beroenden. Överväg till exempel att använda SendGrid i stället för att ansluta till en lokal e-postserver.

Portbindningar

Azure App Service stöder port 80 för HTTP och port 443 för HTTPS-trafik.

För WCF stöds följande bindningar:

Bindning Kommentar
BasicHttp
WSHttp
WSDualHttpBinding Stöd för webbsocket måste vara aktiverat.
NetHttpBinding Stöd för webbsocket måste vara aktiverat för duplex-kontrakt.
NetHttpsBinding Stöd för webbsocket måste vara aktiverat för duplex-kontrakt.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

Autentisering

Azure App Service stöder anonym autentisering som standard och formulärautentisering när det är avsett. Windows-autentisering kan endast användas genom integrering med Azure Active Directory och ADFS. Läs mer om hur du integrerar dina lokala kataloger med Azure Active Directory.

Sammansättningar i GAC (Global Assembly Cache)

Detta stöds inte. Överväg att kopiera nödvändiga sammansättningar till appens \bin-mapp . Anpassade .msi filer som är installerade på servern (till exempel PDF-generatorer) kan inte användas.

IIS-inställningar

Allt som traditionellt har konfigurerats via applicationHost.config i ditt program kan nu konfigureras via Azure-portalen. Detta gäller för AppPool-bitness, aktivera/inaktivera WebSockets, hanterad pipelineversion, .NET Framework-version (2.0/4.0) och så vidare. Om du vill ändra programinställningarna går du till Azure-portalen, öppnar bladet för webbappen och väljer sedan fliken Program Inställningar.

IIS5-kompatibilitetsläge

IIS5-kompatibilitetsläget stöds inte. I Azure App Service körs varje webbapp och alla program under den i samma arbetsprocess med en specifik uppsättning programpooler.

IIS7+ schemaefterlevnad

Vissa element och attribut definieras inte i Azure App Service IIS-schemat. Om du stöter på problem bör du överväga att använda XDT-transformeringar.

Enskild programpool per plats

I Azure App Service körs varje webbapp och alla program under den i samma programpool. Överväg att upprätta en enda programpool med vanliga inställningar eller skapa en separat webbapp för varje program.

COM- och COM+-komponenter

Azure App Service tillåter inte registrering av COM-komponenter på plattformen. Om din app använder com-komponenter måste de skrivas om i hanterad kod och distribueras med webbplatsen eller programmet.

Fysiska kataloger

Azure App Service tillåter inte åtkomst till fysiska enheter. Du kan behöva använda Azure Files för att komma åt filer via SMB. Azure Blob Storage kan lagra filer för åtkomst via HTTPS.

ISAPI-filter

Azure App Service kan stödja användning av ISAPI-filter, men ISAPI DLL måste distribueras med din webbplats och registreras via web.config.

HTTPS-bindningar och SSL

HTTPS-bindningar migreras inte och inte heller de SSL-certifikat som är associerade med dina webbplatser. SSL-certifikat kan dock laddas upp manuellt när webbplatsmigreringen har slutförts.

SharePoint och FrontPage

SharePoint- och FrontPage Server-tillägg (FPSE) stöds inte.

Webbplatsstorlek

Kostnadsfria webbplatser har en storleksgräns på 1 GB innehåll. Om din webbplats är större än 1 GB måste du uppgradera till en betald SKU. Se Priser för App Service.

Databasstorlek

För SQL Server-databaser kontrollerar du den aktuella SQL Database-prissättningen.

Azure Active Directory-integrering (AAD)

AAD fungerar inte med kostnadsfria appar. Om du vill använda AAD måste du uppgradera app-SKU:n. Se Priser för App Service.

Övervakning och diagnostik

Dina aktuella lokala lösningar för övervakning och diagnostik kommer sannolikt inte att fungera i molnet. Azure tillhandahåller dock verktyg för loggning, övervakning och diagnostik så att du kan identifiera och felsöka problem med webbappar. Du kan enkelt aktivera diagnostik för webbappen i dess konfiguration och du kan visa loggarna som registrerats i Azure Application Insights. Läs mer om att aktivera diagnostikloggning för webbappar.

Anslut ionssträngar och programinställningar

Överväg att använda Azure KeyVault, en tjänst som lagrar känslig information som används i ditt program på ett säkert sätt. Du kan också lagra dessa data som en App Service-inställning.

DNS

Du kan behöva uppdatera DNS-konfigurationer baserat på kraven för ditt program. Dessa DNS-inställningar kan konfigureras i apptjänstens anpassade domäninställningar.

Azure App Service med Windows-containrar

Om din app inte kan migreras direkt till App Service bör du överväga att använda App Service med Windows-containrar, vilket möjliggör användning av GAC, COM-komponenter, MSI:er, fullständig åtkomst till .NET FX API:er, DirectX med mera.

Se även