File offline dell'app (app_offline.htm)

Nota

Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Avviso

Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere Criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Importante

Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Il file offline dell'app (app_offline.htm) viene usato dal modulo core ASP.NET per arrestare un'app.

Se viene rilevato un file con il nome app_offline.htm nella directory radice di un'app, il modulo core ASP.NET tenta di arrestare normalmente l'app e interrompere l'elaborazione delle richieste in ingresso. Se l'app è ancora in esecuzione dopo il numero di secondi definiti in shutdownTimeLimit, il modulo core ASP.NET arresta il processo in esecuzione.

Mentre il app_offline.htm file è presente, il modulo core ASP.NET risponde alle richieste inviando di nuovo il contenuto del app_offline.htm file. Deve app_offline.htm essere minore di 4 GB. Quando il app_offline.htm file viene rimosso, la richiesta successiva avvia l'app.

Quando si usa il modello di hosting out-of-process, l'app potrebbe non arrestarsi immediatamente se una connessione è aperta. Ad esempio, una connessione WebSocket potrebbe ritardare l'arresto dell'app.

File di distribuzione bloccati

I file nella cartella di distribuzione sono bloccati durante l'esecuzione dell'app. I file bloccati non possono essere sovrascritti durante la distribuzione.

app_offline.htm è il meccanismo principale per rilasciare i file bloccati. app_offline.htm viene usato da Distribuzione Web per arrestare e avviare correttamente l'app.

app_offline.htm può essere usato manualmente per avviare e arrestare l'app (richiede PowerShell 5 o versione successiva):

$pathToApp = '{PATH TO APP}'


New-Item -Path $pathToApp -Name "app_offline.htm" -ItemType "file"

# Provide script commands here to deploy the app

Remove-Item -Path $pathToApp\app_offline.htm

Nello script di PowerShell precedente:

  • Il segnaposto {PATH TO APP} è il percorso dell'app.
  • Il New-Item comando arresta il pool di app.
  • Il Remove-Item comando avvia il pool di app.
  • I comandi tra il New-Item comando e il Remove-Item comando vengono forniti dallo sviluppatore per distribuire l'app.

I file possono anche essere sbloccati arrestando manualmente il pool di app in Gestione IIS nel server. Non usare il app_offline.htm file quando si usa Gestione IIS per arrestare e riavviare il pool di app.