Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует две модели выполнения для функций .NET:
| Модель выполнения | Описание |
|---|---|
| Изолированная рабочая модель | Код функции выполняется в отдельном рабочем процессе .NET. Используйте поддерживаемые версии .NET и платформа .NET Framework. Дополнительные сведения см. в руководстве по запуску функций Azure C# в изолированной рабочей модели. |
| Модель внутрипроцессного процесса | Код функции выполняется в том же процессе, что и хост-процесс Функций. Поддерживает только долгосрочные версии .NET. Дополнительные сведения см. в статье Разработка функций библиотеки классов C# с помощью службы "Функции Azure". |
Внимание
Поддержка будет завершена для модели в процессе 10 ноября 2026 г. Настоятельно рекомендуется перенести приложения в изолированную рабочую модель для полной поддержки.
В этой статье описывается текущее состояние функциональных и поведенческих различий между двумя моделями. Сведения о миграции из модели внутрипроцессной в изолированную рабочую модель см. в статье "Миграция приложений .NET из модели в процессе" в изолированную рабочую модель.
Таблица сравнения моделей выполнения
Используйте следующую таблицу для сравнения функций и функциональных различий между двумя моделями:
| Функция/поведение | Изолированная рабочая модель | Модель в процессе3 |
|---|---|---|
| Поддерживаемые версии .NET | Версии долгосрочной поддержки (LTS), Версии стандартной поддержки терминов (STS), Платформа .NET Framework |
Долгосрочные версии поддержки (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.* |
| Устойчивые функции | Поддерживается | Поддерживается |
| Типы моделей, предоставляемые через привязки | Простые типы Сериализуемые в JSON типы Массивы и перечисления Типыпакета SDK службы 4 |
Простые типы Сериализуемые типы JSON Массивы и перечисления Типыпакета SDK службы 4 |
| Типы моделей триггеров HTTP |
HttpRequestData / HttpResponseData HttpRequest / IActionResult (использование интеграции ASP.NET Core)5 |
HttpRequest IActionResult5 / HttpRequestMessage HttpResponseMessage / |
| Взаимодействие с выходной привязкой | Возвращайте значения в развернутой модели со следующими значениями: — один или несколько выходных данных — массивы выходных данных |
Возвращаемые значения (только для одного вывода),out ПараметрыIAsyncCollector |
| Принудительные привязки1 | Не поддерживается. Вместо этого работа с типами SDK напрямую | Поддерживается |
| Внедрение зависимостей | Поддерживается (улучшенная модель, согласованная с экосистемой .NET) | Поддерживается |
| ПО промежуточного слоя | Поддерживается | Не поддерживается |
| Ведение журнала |
ILogger<T>
/
ILogger получен из FunctionContext или с помощью внедрения зависимостей |
ILogger передается в функциюILogger<T> с помощью внедрения зависимостей |
| Зависимости Application Insights | Поддерживается | Поддерживается |
| Токены отмены | Поддерживается | Поддерживается |
| Время холодного запуска2 | Настраиваемые оптимизации | Оптимизированная |
| ReadyToRun | Поддерживается | Поддерживается |
| [Использование Flex] | Поддерживается | Не поддерживается |
| .NET Aspire | Предварительный просмотр | Не поддерживается |
1 Если вам нужно при взаимодействии со службой использовать параметры, определяемые во время выполнения, мы рекомендуем напрямую обращаться к соответствующим пакетам SDK службы, чтобы использовать императивные привязки. Пакеты SDK возвращают меньше подробностей, подходят для более широкого круга сценариев и предпочтительнее при обработке ошибок и отладке. Эта рекомендация применима к обеим моделям.
2 Время холодного запуска может быть дополнительно затронуто в Windows при использовании некоторых предварительных версий .NET из-за JIT-загрузки предварительных платформ. Это влияние применяется как к моделям внутри процесса, так и к внепроцессным моделям, но может быть заметно при сравнении между различными версиями. Эта задержка для предварительных версий отсутствует в планах Linux.
3 Функции скрипта C# также выполняются в процессе и используют те же библиотеки, что и функции библиотеки классов в процессе. Дополнительные сведения см. в справочнике разработчика по скрипту C# Функции Azure (CSX).
4 типа пакета SDK службы включают типы из пакета SDK Azure для .NET , например BLOBClient.
5 типы ASP.NET Core не поддерживаются в .NET Framework.
Поддерживаемые версии
Версии среды выполнения функций поддерживают определенные версии .NET. Дополнительные сведения о версиях службы "Функции Azure" см. в разделе Обзор версий среды выполнения службы "Функции Azure". Поддержка версий также зависит от того, выполняются ли функции в процессе или изолированном рабочем процессе.
Примечание.
Чтобы узнать, как изменить версию среды выполнения Функций, используемую приложением-функцией, обратитесь к разделу Просмотр и обновление текущей версии среды выполнения.
В следующей таблице показан самый высокий уровень .NET или платформа .NET Framework, который можно использовать с определенной версией Функций.
| Версия среды выполнения службы "Функции Azure" | Изолированная рабочая модель | Модель в процессе4 |
|---|---|---|
| Функции версии 4.x1 | .NET 10 .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 Поддержка заканчивается для среды выполнения Функции Azure версии 1.x 14 сентября 2026 г. Дополнительные сведения см . в этом объявлении о поддержке. Для дальнейшей полной поддержки следует перенести приложения в версию 4.x.
4 Поддержка заканчивается для модели в процессе 10 ноября 2026 года. Дополнительные сведения см . в этом объявлении о поддержке. Для непрерывной поддержки следует перенести приложения в изолированную рабочую модель.
Последние новости о выпусках службы "Функции Azure", включая удаление отдельных устаревших промежуточных версий, см. в статье Анонсы для службы приложений Azure.