Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Há dois modelos de execução para funções de .NET:
| Modelo de execução | Descrição |
|---|---|
| Modelo de trabalho isolado | Seu código de função é executado em um processo de trabalho .NET separado. Use com versões compatíveis do .NET e do .NET Framework. Para saber mais, consulte Guide para executar Azure Functions C# no modelo de trabalho isolado. |
| Modelo em processo | Seu código de função é executado no mesmo processo que o processo de host do Functions. Dá suporte apenas a versões Long Term Support (LTS) do .NET. Para saber mais, consulte Develop funções de biblioteca de classes C# usando Azure Functions. |
Importante
O suporte terminará para o modelo em processo em 10 de novembro de 2026. É altamente recomendável migrar seus aplicativos para o modelo de trabalho isolado para obter suporte completo.
Este artigo descreve o estado atual das diferenças funcionais e comportamentais entre os dois modelos. Para migrar do modelo em processo para o modelo de trabalho isolado, consulte Migrate .NET aplicativos do modelo em processo para o modelo de trabalho isolado.
Tabela de comparação entre modelos de execução
Use a tabela a seguir para comparar as diferenças funcionais e de recursos entre os dois modelos:
| Recurso/comportamento | Modelo de trabalho isolado | Modelo em processo3 |
|---|---|---|
| Versões suportadas do .NET | Versões LTS (suporte a longo prazo), Versões de Suporte de Prazo Padrão (STS), .NET Framework |
Versões de LTS (Suporte a Longo Prazo), terminando com .NET 8 |
| SDK Core e pacotes |
Azure. Functions.SDK6 Microsoft. Azure. Functions.Worker |
Microsoft.NET. Sdk.Functions |
| Pacotes de extensão de associação | Microsoft. Azure. Functions.Worker.Extensions.* | Microsoft. Azure. WebJobs.Extensions.* |
| Durable Functions | Supported | Supported |
| Tipos de modelo expostos por associações | Tipos simples Tipos serializáveis JSON Matrizes/enumerações Tipos de SDK de Serviço4 |
Tipos simples Tipos JSON serializáveis Matrizes/enumerações Tipos de SDK de Serviço4 |
| Tipos de modelo de gatilho HTTP |
httpRequestData / HttpResponseData HttpRequest / IActionResult (usando ASP.NET Core integration)5 |
HttpRequest / IActionResult5 HttpRequestMessage / HttpResponseMessage |
| Interações de associação de saída | Retornar valores em um modelo expandido com: - saídas únicas ou saídas múltiplas – matrizes de saídas |
Valores retornados (somente saída única),out parâmetros,IAsyncCollector |
| Associações imperativas1 | Sem suporte - em vez disso, trabalhe diretamente com tipos de SDK | Supported |
| Injeção de dependência | Supported (modelo aprimorado consistente com .NET ecossistema) | Supported |
| Middleware | Supported | Sem suporte |
| Registro em log |
ILogger<T>
/
ILogger obtido de FunctionContext ou usando injeção de dependência |
ILogger passado para a funçãoILogger<T> usando injeção de dependência |
| Dependências do Application Insights | Supported | Supported |
| Tokens de cancelamento | Supported | Supported |
| Horários de inicialização a frio2 | Otimizações configuráveis | Otimizado |
| ReadyToRun | Supported | Supported |
| [Consumo Flex] | Supported | Sem suporte |
| Aspire | Supported | Sem suporte |
- Quando você precisa interagir com um serviço usando parâmetros determinados em tempo de execução, é recomendável usar diretamente os SDKs de serviço correspondentes em vez de usar associações imperativas. Os SDKs são menos detalhados, cobrem mais cenários e têm vantagens para fins de tratamento de erro e depuração. Essa recomendação se aplica a ambos os modelos.
- Os tempos de inicialização a frio podem ser afetados adicionalmente no Windows ao usar algumas versões de pré-visualização do .NET devido ao carregamento just-in-time de frameworks de pré-visualização. Esse impacto se aplica aos modelos de trabalho em processo e isolados, mas pode ser perceptível ao comparar entre versões diferentes. Esse atraso para versões prévias não está presente nos planos do Linux.
- As funções de script C# também são executadas em processo e usam as mesmas bibliotecas que as funções de biblioteca de classes em processo. Para obter mais informações, consulte a referência de desenvolvedor do Azure Functions C# (.csx).
- Os tipos de SDK de Serviço incluem tipos do SDK do Azure para .NET como BlobClient.
- não há suporte para tipos de ASP.NET Core para o .NET Framework.
-
Azure.Functions.Sdksuporta .NET 8 e versões posteriores e .NET Framework. Ele não oferece suporte a estruturas de destino sem suporte, do .NET Core 2.x ao .NET 7.
Versões com suporte
As versões do runtime do Functions dão suporte a versões específicas do .NET. Para saber mais sobre as versões do Functions, consulte Azure Functions visão geral das versões de runtime. O suporte a uma versão depende de suas funções serem executadas em processo ou no processo de trabalho isolado.
Observação
Para saber como alterar a versão de runtime do Functions usada pelo aplicativo de funções, confira Exibir e atualizar a versão de runtime atual.
A tabela a seguir mostra o nível mais alto de .NET ou .NET Framework que pode ser usado com uma versão específica do Functions.
| Versão do runtime do Functions | Modelo de trabalho isolado | Modelo em processamento3 |
|---|---|---|
| Funções 4.x1 | .NET 104 .NET 9.0 .NET 8.0 .NET Framework 4.82 |
.NET 8.0 |
1 .NET 6 tinha suporte anteriormente em ambos os modelos, mas atingiu o fim do suporte oficial em 12 de novembro de 2024. .NET 7 tinha suporte anteriormente no modelo de trabalho isolado, mas atingiu o fim do suporte oficial em 14 de maio de 2024.
2 O processo de build também requer o SDK .NET.
3 O suporte para o modelo em andamento termina em 10 de novembro de 2026. Para obter mais informações, confira este comunicado de suporte. Para obter suporte completo contínuo, você deve migrar seus aplicativos para o modelo de trabalho isolado.
4 Você não pode rodar aplicativos .NET 10 no Linux no plano Consumption. Para executar no Linux, em vez disso, você deve usar o plano de consumo flex. Para obter instruções de migração passo a passo, consulte Migrar aplicativos de plano de consumo para o plano de consumo flex.
Para obter as últimas notícias sobre as versões do Azure Functions, incluindo a remoção de versões secundárias específicas mais antigas, monitore os comunicados do Serviço de Aplicativo do Azure.