Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует две модели выполнения для функций .NET:
| Модель выполнения | Описание |
|---|---|
| Изолированная рабочая модель | Код функции выполняется в отдельном рабочем процессе .NET. Используйте поддерживаемые версии .NET и .NET Framework. Дополнительные сведения см. в статье Guide для запуска Azure Functions C# в изолированной рабочей модели. |
| Модель внутрипроцессного процесса | Код функции выполняется в том же процессе, что и хост-процесс Функций. Поддерживает только версии .NET с «Long Term Support» (LTS). Дополнительные сведения см. в разделе Создание функций библиотек классов на C# с использованием Azure Functions. |
Внимание
Поддержка будет завершена для внутрипроцессной модели 10 ноября 2026 г. Настоятельно рекомендуется перенести приложения в изолированную рабочую модель для полной поддержки.
В этой статье описывается текущее состояние функциональных и поведенческих различий между двумя моделями. Сведения о переходе из внутрипроцессной модели в изолированную рабочую модель см. в разделе Migrate .NET приложения из модели внутрипроцессной в изолированную рабочую модель.
Таблица сравнения моделей выполнения
Используйте следующую таблицу для сравнения функций и функциональных различий между двумя моделями:
| Функция/поведение | Изолированная модель рабочего | Модель в процессе обработки3 |
|---|---|---|
| Поддерживаемые версии .NET | Версии долгосрочной поддержки (LTS), Версии стандартной поддержки терминов (STS), платформа .NET |
Долгосрочные версии поддержки (LTS), заканчивающиеся .NET 8 |
| Основные пакеты |
Microsoft. Azure. Functions.Worker Microsoft. Azure. Functions.Worker.Sdk |
Microsoft.NET. Sdk.Functions |
| Привязка пакетов расширений | Microsoft. Azure. Functions.Worker.Extensions.* | Microsoft. Azure. WebJobs.Extensions.* |
| Устойчивые функции | Supported | Supported |
| Типы моделей, предоставляемые через привязки | Простые типы Сериализуемые в JSON типы Массивы и перечисления Типы SDK службы4 |
Простые типы Сериализуемые типы JSON Массивы и перечисления Типы SDK службы4 |
| Типы моделей триггеров HTTP |
HttpRequestData / HttpResponseData HttpRequest / IActionResult (использование интеграции ASP.NET Core)5 |
HttpRequest / IActionResult5 HttpRequestMessage / HttpResponseMessage |
| Взаимодействие с привязкой выходных данных | Возвращайте значения в развернутой модели: — один или несколько выходных данных — массивы выходных данных |
Возвращаемые значения (только для одного вывода),out ПараметрыIAsyncCollector |
| Принудительные привязки1 | Вместо этого работайте с типами SDK напрямую - это не поддерживается. | Supported |
| Внедрение зависимостей | Supported (улучшенная модель, согласованная с экосистемой .NET) | Supported |
| ПО промежуточного слоя | Supported | Не поддерживается |
| Ведение журнала |
ILogger<T>
/
ILogger получен из FunctionContext или с помощью внедрения зависимостей |
ILogger передается в функциюILogger<T> с помощью внедрения зависимостей |
| Зависимости Application Insights | Supported | Supported |
| Токены отмены | Supported | Supported |
| Время холодного запуска2 | Настраиваемые оптимизации | Оптимизированный |
| ReadyToRun | Supported | Supported |
| [Использование Flex] | Supported | Не поддерживается |
| .NET Aspire | Preview | Не поддерживается |
- Если необходимо взаимодействовать со службой с использованием параметров, определяемых во время выполнения, рекомендуется напрямую использовать соответствующие SDK службы вместо императивных привязок. Пакеты SDK менее многословные, охватывают больше сценариев и имеют преимущества для обработки ошибок и целей отладки. Эта рекомендация применима к обеим моделям.
- Время холодного запуска может дополнительно увеличиваться в Windows при использовании некоторых предварительных версий .NET из-за just-in-time загрузки фреймворков предварительной версии. Это влияние применяется как к встроенным, так и изолированным рабочим моделям, но может быть заметно при сравнении между различными версиями. Эта задержка для предварительных версий отсутствует в планах Linux.
- Функции скрипта C# также выполняются в процессе и используют те же библиотеки, что и функции библиотек библиотеки классов в процессе. Дополнительные сведения см. в справочнике разработчика Azure Functions скриптов на C# (.csx).
- Типы пакета SDK службы включают типы из Azure SDK для .NET, например BlobClient.
- ASP.NET Core типы не поддерживаются для .NET Framework.
Поддерживаемые версии
Версии среды выполнения функций поддерживают определенные версии .NET. Для получения дополнительных сведений о версиях функций см. раздел Обзор версий среды выполнения Azure Functions. Поддержка версий также зависит от того, выполняются ли функции в процессе или изолированном рабочем процессе.
Примечание.
Чтобы узнать, как изменить версию среды выполнения Функций, используемую приложением-функцией, обратитесь к разделу Просмотр и обновление текущей версии среды выполнения.
В следующей таблице показан самый высокий уровень .NET или .NET Framework, который можно использовать с определенной версией Функций.
| Версия среды выполнения функций | Изолированная рабочая модель | Модель в процессе4 |
|---|---|---|
| Функции версии 4.x1 | .NET 105 .NET 9.0 .NET 8.0 .NET Framework 4.82 |
.NET 8.0 |
| Функции 1.x3 | Н/Д | .NET Framework 4.8 |
1 .NET 6 ранее была поддерживается в обеих моделях, но достигло окончания официальной поддержки 12 ноября 2024 года. .NET 7 ранее поддерживался в изолированной рабочей модели, но достиг конца официальной поддержки 14 мая 2024 года.
2 Процесс сборки также требует пакета SDK .NET.
3 Поддержка заканчивается для среды выполнения версии 1.x Azure Functions 14 сентября 2026 года. Дополнительные сведения см. в этом объявлении о поддержке. Для дальнейшей полной поддержки следует перенести приложения в версию 4.x.
4 Поддержка модели in-process заканчивается 10 ноября 2026 года. Дополнительные сведения см. в этом объявлении о поддержке. Для непрерывной поддержки следует перенести приложения в изолированную рабочую модель.
5 Вы не можете запускать приложения .NET 10 на Linux в тарифном плане потребления. Для запуска в Linux следует использовать план потребления Flex. Пошаговые инструкции по миграции см. в статье "Миграция приложений плана потребления" в план потребления Flex.
Для получения последних новостей о выпусках Azure Functions, включая удаление некоторых более ранних минорных версий, отслеживайте объявления Azure App Service.