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 do .NET:
| Modelo de execução | Descrição |
|---|---|
| Modelo de trabalho isolado | O código de função é executado em um processo de trabalho do .NET separado. Use com versões com suporte do .NET e do .NET Framework. Para saber mais, consulte Guia para executar o C# Azure Functions 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 LTS (suporte de longo prazo) do .NET. Para saber mais, confira Desenvolver funções da biblioteca de classes C# usando o 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, veja Migrar aplicativos .NET 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 do .NET com suporte | 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 o .NET 8 |
| Pacotes principais |
Microsoft.Azure.Functions.Worker Microsoft.Azure.Functions.Worker.Sdk |
Microsoft.NET.Sdk.Functions |
| Pacotes de extensão de associação | Microsoft.Azure.Functions.Worker.Extensions.* | Microsoft.Azure.WebJobs.Extensions.* |
| Durable Functions | Com suporte | Com suporte |
| 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 integração ASP.NET Core)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 | Com suporte |
| Injeção de dependência | Com suporte (modelo aprimorado consistente com o ecossistema do .NET) | Com suporte |
| Middleware | Com suporte | 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 | Com suporte | Com suporte |
| Tokens de cancelamento | Com suporte | Com suporte |
| Horários de inicialização a frio2 | Otimizações configuráveis | Otimizado |
| ReadyToRun | Com suporte | Com suporte |
| [Consumo Flex] | Com suporte | Sem suporte |
| .NET Aspire | Visualização | Sem suporte |
1 Quando você precisa interagir com um serviço usando parâmetros determinados em runtime, o uso de SDKs de serviço correspondentes diretamente é recomendado com 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.
2 Os tempos de inicialização a frio podem ser afetados adicionalmente no Windows ao usar algumas versões de visualização do .NET devido ao carregamento just-in-time de estruturas de visualização. Esse impacto se aplica aos modelos em processo e fora de processo, mas pode ser particularmente perceptível se comparado entre versões diferentes. Esse atraso para versões prévias não está presente nos planos do Linux.
3 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 do desenvolvedor do script C# do Azure Functions (.csx).
4 Os tipos de SDK de Serviço incluem tipos do SDK do Azure para .NET, como o BlobClient.
5 tipos ASP.NET Core não são compatíveis com o .NET Framework.
Versões com suporte
As versões do runtime do Functions aceitam versões específicas do .NET. Saiba mais sobre as versões do Functions, confira Visão geral de versões do Azure Functions 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 do .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 processo4 |
|---|---|---|
| Funções 4.x1 | .NET 105 .NET 9.0 .NET 8.0 .NET Framework 4.82 |
.NET 8.0 |
| Funções 1.x3 | n/d | .NET Framework 4.8 |
1 Anteriormente, o .NET 6 tinha suporte nos dois modelos, mas chegou ao fim do suporte oficial em 12 de novembro de 2024. O .NET 7 era compatível com o modelo de trabalho isolado, mas chegou ao fim do suporte oficial em 14 de maio de 2024.
2 O processo de build também exige o SDK do .NET.
3 O suporte para a versão 1.x do runtime do Azure Functions termina em 14 de setembro de 2026. Para obter mais informações, confira este comunicado de suporte. Para obter suporte completo contínuo, você deve migrar seus aplicativos para a versão 4.x.
4 O suporte para o modelo em processo 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.
5 Você não pode executar aplicativos .NET 10 no Linux no plano de consumo. Para executar no Linux, em vez disso, você deve usar o plano de consumo flex.
Para receber as notícias mais recentes sobre as versões de Azure Functions, incluindo a remoção de versões secundárias específicas mais antigas, acompanhe os comunicados de Serviço de Aplicativo do Azure.