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 |
.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 | 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 ParametreIAsyncCollector |
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> /ILogger FunctionContext'ten veya bağımlılık ekleme yoluyla elde edildi |
ILogger işlevine geçirildiILogger<T> bağımlılık ekleme yoluyla |
Application Insights 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 |
[Esnek Tüketim] | Destekleniyor | 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ı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.
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.x1 | .NET 9.0 (önizleme) .NET 8.0 .NET 6.02 .NET Framework 4.83 |
.NET 8.0 .NET 6.02 |
İşlevler 1.x4 | yok | .NET Framework 4.8 |
1 .NET 7, yalıtılmış çalışan modelinde daha önce destekleniyordu ancak 14 Mayıs 2024'te resmi desteğin sonuna ulaştı.
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.