خدمة العمال في .NET Core 3: ما هي ولماذا هي ضرورية

يقدم .NET Core 3 قالب مشروع جديد يسمى خدمة العمال. تم تصميم هذا القالب لمنحك نقطة انطلاق لإنشاء خدمات مشتركة بين الأنظمة الأساسية. كحالة استخدام بديلة: توفر بيئة جيدة جدًا لإنشاء تطبيقات وحدة التحكم ، وهي مثالية للحاويات والخدمات الصغيرة.



اقرأ المزيد حول بعض فوائد استخدام هذا القالب تحت القطة.



حقن التبعية


يقوم قالب Worker Service بإعداد حاوية لحقن التبعية بشكل افتراضي وجاهز للاستخدام. هذه ميزة كبيرة على قالب وحدة التحكم الشاملة.

تتضمن إضافة خدمات تحديث أسلوب ConfigureServices في ملف Program.cs :

Host.CreateDefaultBuilder(args)   .ConfigureServices((hostContext, services) =>   {       services.AddTransient<ICustomerService,CustomerService>();       services.AddHostedService<Worker>();   }); 

ترتيب


يتم تكرار نفس إعدادات موفر التكوين لـ ASP.NET Core هنا لخدمات العمال. هذا يعطينا بيئة قوية ومألوفة لتخزين معلومات التكوين:

  1. appsettings.json
  2. appsettings. {environment} .json
  3. أسرار المستخدم (التطوير فقط)
  4. متغيرات البيئة
  5. وسيطات سطر الأوامر

لمزيد من المعلومات حول كل من مقدمي الخدمات ، يرجى الاطلاع على مقالتي السابقة المنشورة هنا .

تسجيل


وبالمثل ، تم تكوين موفري السجل وفقًا للإعدادات الافتراضية لـ ASP.Net Core ، مما يوفر لك موفري الخدمات التاليين:

  1. وحدة التحكم
  2. التصحيح
  3. مصدر الحدث
  4. سجل الأحداث (فقط على نظام Windows)

يمكنك إضافة موفري التسجيل عن طريق إضافة أسلوب ConfigureLogging إلى كائن المضيف في Program.cs :

 Host.CreateDefaultBuilder(args)  .ConfigureServices((hostContext, services) =>  {      services.AddHostedService<Worker>();  })  .ConfigureLogging(logging =>  {      logging.ClearProviders();      logging.AddConsole();  }); 

راجع وثائق ASP.NET Core لمزيد من المعلومات.

الطبقة بدء التشغيل العامل


أخيرًا ، سيكون الجزء الأكبر من التعليمات البرمجية موجودًا في ملف Worker.cs . هناك 3 طرق يمكن إعادة تعريفها في فئة BackgroundService الأساسية والتي تسمح لك بربط نفسك بدورة حياة التطبيق:

ExecuteAsync هي طريقة مجردة تستخدم كنقطة الإدخال الرئيسية للتطبيق الخاص بك. إذا تمت مقاطعة هذه الطريقة ، يتم إغلاق التطبيق.

StartAsync - طريقة افتراضية ، عندما يتم تجاوزها ، يتم استدعاءها عند بدء تشغيل الخدمة ويمكن استخدامها لتعيين الموارد لمرة واحدة.

StopAsync - طريقة افتراضية تسمى عند إغلاق التطبيق ، وهي مكان جيد لتحرير الموارد وإزالة الكائنات.

في المجموع


يقوم قالب Worker Service الجديد في .NET Core 3 بإنشاء بيئة استضافة مناسبة تمامًا لتطبيقات وحدة التحكم والخدمات الميكروية وتطبيقات الحاويات وخدمات الخلفية عبر الأنظمة الأساسية. على الرغم من أنه يمكن تخصيص هذه الفوائد بشكل مستقل عن القالب ، إلا أن Worker Service توفر بيئة تشغيل متناسقة للاستخدام مع تطبيقات ASP.NET Core ووحدة التحكم.

Source: https://habr.com/ru/post/ar480222/


All Articles