الاختلافات بين نموذج العامل المعزول والنموذج قيد المعالجة ل .NET على Azure Functions

هناك نموذجان للتنفيذ لدالات .NET:

نموذج التنفيذ ‏‏الوصف
نموذج عامل معزول تعمل تعليمة دالتك البرمجية في عملية عامل .NET منفصلة. استخدم مع الإصدارات المدعومة من .NET و.NET Framework. لمعرفة المزيد، راجع تطوير وظائف معالجة العامل المعزولة .NET.
نموذج قيد المعالجة تعمل تعليمة دالتك البرمجية في نفس العملية مثل عملية مضيف الدالات. يدعم إصدارات الدعم طويل الأجل (LTS) فقط من .NET. لمعرفة المزيد، راجع تطوير وظائف مكتبة فئة .NET.

هام

سينتهي الدعم للنموذج قيد التنفيذ في 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.*
Durable Functions مدعم مدعم
أنواع النماذج التي تعرضها الروابط الأنواع البسيطة
‏‏أنواع قابلة للتسلسل إلى 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 للخدمة المقابلة مباشرة عبر استخدام الارتباطات الإلزامية. تعد SDKs أقل إسهابًا، وتغطي المزيد من السيناريوهات، وتمتلك مزايا لأغراض معالجة الأخطاء وتصحيح الأخطاء. تنطبق هذه التوصية على كلا النموذجين.

2 قد تتأثر أوقات البدء الباردة أيضا على Windows عند استخدام بعض إصدارات المعاينة من .NET بسبب التحميل في الوقت المناسب لأطر عمل المعاينة. ينطبق هذا التأثير على كل من النماذج قيد المعالجة وخارج العملية ولكن يمكن أن يكون ملحوظا عند المقارنة عبر إصدارات مختلفة. هذا التأخير لإصدارات المعاينة غير موجود على خطط Linux.

3 وظائف البرنامج النصي C# تعمل أيضا قيد المعالجة وتستخدم نفس المكتبات مثل وظائف مكتبة الفئة قيد المعالجة. لمزيد من المعلومات، راجع مرجع مطور البرنامج النصي Azure Functions C# (.csx).

4 تتضمن أنواع SDK للخدمة أنواعا من Azure SDK ل .NET مثل BlobClient.

5 ASP.NET أنواع Core غير مدعومة ل .NET Framework.

الإصدارات المدعومة

تدعم إصدارات وقت تشغيل الوظائف إصدارات معينة من .NET. لمعرفة المزيد عن إصدارات الوظائف، راجع نظرة عامة على إصدارات وقت تشغيل وظائف Azure. يعتمد دعم الإصدار أيضا على ما إذا كانت وظائفك تعمل في العملية أو عملية عامل معزولة.

إشعار

لمعرفة كيفية تغيير إصدار وقت تشغيل الوظائف الذي يستخدمه تطبيق الوظائف الخاص بك، راجع عرض وتحديث الإصدار الحالي من وقت التشغيل.

يعرض الجدول التالي أعلى مستوى من .NET أو .NET Framework الذي يمكن استخدامه مع إصدار معين من Functions.

إصدار وقت تشغيل الوظائف نموذج عامل معزول النموذجقيد المعالجة 5
الدالات 4.x1 .NET 9.0 (معاينة)
.NET 8.0
.NET 6.02
.NET Framework 4.83
.NET 8.0
.NET 6.02
الدالات 1.x4 غير متوفر .NET Framework 4.8

1 .NET 7 كان مدعوما مسبقا على نموذج العامل المعزول ولكنه وصل إلى نهاية الدعم الرسمي في 14 مايو 2024.

2.NET 6 يصل إلى نهاية الدعم الرسمي في 12 نوفمبر 2024.

3 تتطلب عملية الإنشاء أيضا .NET SDK.

4 ينتهي الدعم للإصدار 1.x من وقت تشغيل Azure Functions في 14 سبتمبر 2026. لمزيد من المعلومات، راجع إعلان الدعم هذا. للحصول على الدعم الكامل المستمر، يجب ترحيل تطبيقاتك إلى الإصدار 4.x.

5 ينتهي الدعم للنموذج قيد المعالجة في 10 نوفمبر 2026. لمزيد من المعلومات، راجع إعلان الدعم هذا. للحصول على الدعم الكامل المستمر، يجب ترحيل تطبيقاتك إلى نموذج العامل المعزول.

للحصول على أحدث الأخبار حول إصدارات Azure Functions، بما في ذلك إزالة إصدارات ثانوية قديمة معينة، راقب إعلانات Azure App Service.

الخطوات التالية