yalıtılmış çalışan modeli ile Azure İşlevleri .NET için işlem içi model arasındaki farklar

.NET işlevleri için iki yürütme modeli vardır:

Yürütme modeli Açıklama
Yalıtılmış çalışan modeli İşlev kodunuz ayrı bir .NET çalışan işleminde çalışır. Desteklenen .NET ve .NET Framework sürümleriyle kullanın. Daha fazla bilgi edinmek için bkz. yalıtılmış çalışan modelinde C# Azure İşlevleri çalıştırmak için Guide.
İşlem içi model İşlev kodunuz İşlevler konak işlemiyle aynı işlemde çalışır. Sadece .NET Long Term Support (LTS) sürümlerini destekler. Daha fazla bilgi edinmek için Azure İşlevleri kullanarak C# sınıf kitaplığı işlevleri geliştirme'ye bakın.

Önemli

İşlem içi model desteği 10 Kasım 2026'da sona erecektir. Tam destek için uygulamalarınızı yalıtılmış çalışan modeline geçirmenizi kesinlikle öneririz.

Bu makalede, iki model arasındaki işlevsel ve davranışsal farklılıkların geçerli durumu açıklanmaktadır. İşlem içi modelden yalıtılmış çalışan modeline geçiş yapmak için bkz. İstelenen modelden yalıtılmış çalışan modeline .NET uygulamaları dağıtma.

Yürütme modeli karşılaştırma tablosu

İki model arasındaki özellik ve işlev farklarını karşılaştırmak için aşağıdaki tabloyu kullanın:

Özellik/davranış Yalıtılmış çalışan modeli İşlem içi model3
Desteklenen .NET sürümleri Uzun Süreli Destek (LTS) sürümleri,
Standart Terim Desteği (STS) sürümleri,
.NET Framework
.NET 8 ile biten Uzun Vadeli Destek (LTS) sürümleri
Çekirdek paketler Microsoft. Azure. Functions.Worker
Microsoft. Azure. Functions.Worker.Sdk
Microsoft.NET. Sdk.Functions
Uzantı paketlerini bağlama Microsoft. Azure. Functions.Worker.Extensions.* Microsoft. Azure. WebJobs.Extensions.*
Dayanıklı İşlevler (Kalıcı İşlevler) Supported Supported
Bağlamalar tarafından kullanıma sunulan model türleri Basit türler
JSON serileştirilebilir türler
Diziler/numaralandırmalar
Hizmet SDK'sı türleri4
Basit türler
JSON serileştirilebilir türler
Diziler/numaralandırmalar
Hizmet SDK'sı türleri4
HTTP tetikleyici modeli türleri HttpRequestData / HttpResponseData
HttpRequest / IActionResult (ASP.NET Core integration)5
HttpRequest / IActionResult5
HttpRequestMessage / HttpResponseMessage
Çıkış bağlama etkileşimleri Genişletilmiş modeldeki değerleri şu şekilde döndürür:
- tek veya birden çok çıkış
- çıkış dizileri
Dönüş değerleri (yalnızca tek çıkış),
out Parametreler
IAsyncCollector
Kesinlik temelli bağlamalar1 Desteklenmez - bunun yerine doğrudan SDK türleriyle çalışın Supported
Bağımlılık enjeksiyonu Supported (.NET ekosistemiyle tutarlı geliştirilmiş model) Supported
Ara yazılım Supported Desteklenmez
Kayıt Tutma ILogger<T> / ILogger FunctionContext'ten veya bağımlılık ekleme kullanılarak elde edildi ILogger işlevine geçirildi
ILogger<T> bağımlılık enjeksiyonu kullanarak
Application Insights bağımlılıkları Supported Supported
İptal belirteçleri Supported Supported
Soğuk başlangıç süreleri2 Yapılandırılabilir iyileştirmeler İyileştirilmiş
ReadyToRun Supported Supported
[Esnek Tüketim] Supported Desteklenmez
.NET Aspire Önizleme Desteklenmez
  1. Çalışma zamanında belirlenen parametreleri kullanarak bir hizmetle etkileşim kurmanız gerektiğinde, kesinlik temelli bağlamaları kullanmak yerine ilgili hizmet SDK'larını doğrudan kullanmanız önerilir. SDK'lar daha az ayrıntılıdır, daha fazla senaryoyu kapsar ve hata işleme ve hata ayıklama amacıyla avantajlara sahiptir. Bu öneri her iki model için de geçerlidir.
  2. Önizleme çerçevelerinin tam zamanında yüklenmesi nedeniyle, .NET'in bazı önizleme sürümleri kullanıldığında Windows üzerinde soğuk başlangıç süreleri de etkilenebilir. Bu etki hem işlem içi hem de yalıtılmış çalışan modelleri için geçerlidir, ancak farklı sürümler karşılaştırılırken fark edilebilir. Önizleme sürümleri için bu gecikme Linux planlarında mevcut değildir.
  3. C# Betik işlevleri de işlem içinde çalışır ve işlem içi sınıf kitaplığı işlevleriyle aynı kitaplıkları kullanır. Daha fazla bilgi için bkz. Azure İşlevleri C# betiği (.csx) geliştirici referansı.
  4. Hizmet SDK türleri, Azure SDK for .NET gibi BlobClient içerir.
  5. ASP.NET Core türleri .NET Framework için desteklenmez.

Desteklenen sürümler

İşlevler çalışma zamanının sürümleri .NET belirli sürümlerini destekler. İşlev sürümleri hakkında daha fazla bilgi edinmek için bkz. Azure İşlevleri çalışma zamanı sürümlerine genel bakış. Sürüm desteği, işlevlerinizin işlem içinde mi yoksa yalıtılmış çalışan işlemi mi çalıştırdığına da bağlıdır.

Not

İşlev uygulamanız tarafından kullanılan İşlevler çalışma zamanı sürümünü değiştirmeyi öğrenmek için geçerli çalışma zamanı sürümünü görüntüleme ve güncelleştirme başlığına bakın.

Aşağıdaki tabloda, İşlevler'in belirli bir sürümüyle kullanılabilecek en yüksek .NET veya .NET Framework düzeyi gösterilmektedir.

İşlevler çalışma zamanı sürümü Yalıtılmış çalışan modeli İşlem içi model4
İşlevler 4.x1 .NET 105
.NET 9.0
.NET 8.0
.NET Framework 4.82
.NET 8.0
İşlevler 1.x3 yok .NET Framework 4.8

1 .NET 6 daha önce her iki modelde de destekleniyordu ancak resmi destek 12 Kasım 2024 itibariyle sona erdi. .NET 7, daha önce yalıtılmış çalışan modelinde destekleniyordu ancak 14 Mayıs 2024 tarihinde resmi desteği sona erdi.

2 Derleme işlemi ayrıca .NET SDK gerektirir.

3 Desteği, Azure İşlevleri çalışma zamanının 1.x sürümü için 14 Eylül 2026'da sona erer. Daha fazla bilgi için bu destek duyurusna bakın. Sürekli tam destek için uygulamalarınızı 4.x sürümüne geçirmeniz gerekir.

4 Süreç içi model için destek 10 Kasım 2026'da sona erer. Daha fazla bilgi için bu destek duyurusna bakın. Sürekli tam destek için uygulamalarınızı yalıtılmış çalışan modeline geçirmeniz gerekir.

5 Tüketim planında Linux üzerinde .NET 10 uygulamayı çalıştıramazsınız. Linux üzerinde çalıştırmak için bunun yerine Flex Consumption planını kullanmanız gerekir. Adım adım geçiş yönergeleri için bkz . Tüketim planı uygulamalarını Esnek Tüketim planına geçirme.

Belirli eski ikincil sürümlerin kaldırılması dahil olmak üzere Azure İşlevleri sürümleri hakkında en son haberler için Azure App Service duyurularını izleyin.

Sonraki adımlar