yalıtılmış çalışan modeli ile Azure İşlevleri üzerinde .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 . .NET yalıtılmış çalışan işlemi işlevleri geliştirme.
İşlem içi model İşlev kodunuz İşlevler konak işlemiyle aynı işlemde çalışır. .NET'in yalnızca Uzun Süreli Destek (LTS) sürümlerini destekler. Daha fazla bilgi edinmek için bkz . .NET sınıf kitaplığı işlevleri geliştirme.

Ö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 . .NET uygulamalarını işlem içi modelden yalıtılmış çalışan modeline geçirme.

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
Uzun Vadeli Destek (LTS) sürüm6
Ç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 Destekleniyor Destekleniyor
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 tümleştirmesi kullanılarak)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 Parametre
IAsyncCollector
Kesinlik temelli bağlamalar1 Desteklenmez - bunun yerine doğrudan SDK türleriyle çalışın Destekleniyor
Bağımlılık ekleme Desteklenir (.NET ekosistemiyle tutarlı geliştirilmiş model) Destekleniyor
Ara yazılım Destekleniyor Desteklenmez
Günlük Kaydı ILogger<T>/ILoggerFunctionContext'ten veya bağımlılık ekleme yoluyla elde edildi ILogger işlevine geçirildi
ILogger<T>bağımlılık ekleme yoluyla
Uygulama Analizler bağımlılıkları Destekleniyor Destekleniyor
İptal belirteçleri Destekleniyor Destekleniyor
Soğuk başlangıç saatleri2 Yapılandırılabilir iyileştirmeler İyileştirilmiş
ReadyToRun Destekleniyor Destekleniyor

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ılırken soğuk başlangıç süreleri Windows'da da etkilenebilir. Bu etki hem işlem içi hem de işlem dışı modeller için geçerlidir, ancak farklı sürümler arasında 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 Azure İşlevleri C# betiği (.csx) geliştirici başvurusuna bakın.

4 Hizmet SDK'sı türü, .NET için Azure SDK'dan BlobClient gibi türler içerir.

.NET Framework için 5 ASP.NET Core türü desteklenmez.

6 .NET 8 henüz işlem içi modelde desteklenmese de yalıtılmış çalışan modelinde kullanılabilir. İşlem içi modelin gelecekteki seçenekleri de dahil olmak üzere .NET 8 planları hakkında bilgi için Azure İşlevleri Yol Haritası Güncelleştirme gönderisine bakın.

Desteklenen sürümler

İşlevler çalışma zamanının sürümleri .NET'in 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 bkz . Geçerli çalışma zamanı sürümünü görüntüleme ve güncelleştirme.

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 model5
İşlevler 4.x .NET 8.0
.NET 7.01
.NET 6.02
.NET Framework 4.83
.NET 6.02
İşlevler 1.x4 yok .NET Framework 4.8

1 .NET 7, 14 Mayıs 2024'te resmi desteğin sonuna ulaşıyor.
2 .NET 6, 12 Kasım 2024'te resmi desteğin sonuna ulaşıyor.
3 Derleme işlemi ayrıca .NET SDK'sını gerektirir. 4 Azure İşlevleri çalışma zamanının 1.x sürümü için destek 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.
5 İşlem içi model için destek 10 Kasım 2026'da sona eriyor. 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.

Belirli eski ikincil sürümlerin kaldırılması da dahil olmak üzere Azure İşlevleri sürümlerle ilgili en son haberler için Azure Uygulaması Hizmet duyurularını izleyin.

Sonraki adımlar