بدء استخدام المستخدمين الموثوقين

تتناول هذه المقالة إنشاء وتصحيح أخطاء تطبيق Reliable Actor بسيط للمستخدم الموثوق به في Visual Studio. لمزيد من المعلومات حول المستخدمين الموثوقين راجع Introduction to Service Fabric Reliable Actors.

المتطلبات الأساسية

قبل أن تبدأ، تأكد من إعداد بيئة تطوير Service Fabric، بما في ذلك Visual Studio، على جهازك. للحصول على تفاصيل، راجع how to set up the development environment.

إنشاء مشروع جديد في Visual Studio

ابدأ تشغيل Visual Studio 2019 أو إصدار لاحق كمسؤول، ثم أنشئ مشروع Service Fabric Application الجديد:

أدوات Service Fabric ل Visual Studio - مشروع جديد

في مربع الحوار التالي، اختر Actor Service ضمن .NET Core 2.0 وأدخل اسماً للخدمة.

قوالب مشروع Service Fabric

يوضح المشروع الذي تم إنشاؤه البنية التالية:

بنية مشروع Service Fabric

فحص الحل

يحتوي الحل على ثلاثة مشاريع:

  • مشروع التطبيق (MyApplication). يجمع هذا المشروع جميع الخدمات معاً للنشر. يحتوي على البرامج النصية ApplicationManifest.xml وPowerShell لإدارة التطبيق.

  • مشروع الواجهة (HelloWorld.Interfaces). يحتوي هذا المشروع على تعريف الواجهة للمستخدم. يمكن تعريف واجهات المستخدم في أي مشروع بأي اسم. تحدد الواجهة عقد المستخدم الذي يشاركه تنفيذ المستخدم والعملاء الذين يتصلون بالمستخدم. نظراً لأن مشاريع العميل قد تعتمد عليها، فمن المنطقي تحديدها في تجميع منفصل عن تنفيذ المستخدم.

  • مشروع خدمة الممثل (HelloWorld) . يحدد هذا المشروع خدمة Service Fabric التي ستستضيف المستخدم. يحتوي على تنفيذ المستخدم، HelloWorld.cs. تنفيذ المستخدم هو فئة مشتقة من النوع الأساسي Actor وتنفذ الواجهات المحددة في مشروع MyActor.Interfaces. يجب أن تقوم فئة المستخدم أيضاً بتنفيذ الدالة الإنشائية تقبل مثيل ActorService وActorId ويمررهما إلى الفئة الأساسية Actor.

    يحتوي هذا المشروع أيضاً على Program.cs، الذي يسجل فئات المستخدمين بوقت تشغيل Service Fabric باستخدام ActorRuntime.RegisterActorAsync<T>(). تم تسجيل فئة HelloWorld بالفعل. يجب أيضاً تسجيل أي تطبيقات فاعلة إضافية تمت إضافتها إلى المشروع بطريقة Main().

تخصيص مستخدم HelloWorld

يعرّف نموذج المشروع بعض الطرق في واجهة IHelloWorld ويطبقها في تنفيذ المستخدم HelloWorld. استبدل هذه الطرق بحيث تقوم خدمة المستخدم بإرجاع سلسلة نصية بسيطة "مرحباً بالعالم".

في مشروع HelloWorld.Interfaces، في ملف IHelloWorld.cs، استبدل تعريف الواجهة على النحو التالي:

public interface IHelloWorld : IActor
{
    Task<string> GetHelloWorldAsync();
}

في مشروع HelloWorld، في HelloWorld.cs، استبدل تعريف الفئة بالكامل على النحو التالي:

[StatePersistence(StatePersistence.Persisted)]
internal class HelloWorld : Actor, IHelloWorld
{
    public HelloWorld(ActorService actorService, ActorId actorId)
        : base(actorService, actorId)
    {
    }

    public Task<string> GetHelloWorldAsync()
    {
        return Task.FromResult("Hello from my reliable actor!");
    }
}

اضغط على Ctrl-Shift-B لإنشاء المشروع والتأكد من تجميع كل شيء.

إضافة عميل

قم بإنشاء تطبيق وحدة تحكم بسيط للاتصال بخدمة المستخدم.

  1. انقر بزر الماوس الأيمن على الحل في مستكشف الحلول >Add>New Project....

  2. ضمن أنواع مشروع .NET Core، اختر Console App (.NET Core). قم بتسمية المشروع باسم ActorClient.

    مربع الحوار

    ملاحظة

    لا يُعد تطبيق وحدة التحكم نوع التطبيق الذي ستستخدمه عادةً كعميل في Service Fabric، ولكنه يقدم مثالاً مناسباً لتصحيح الأخطاء والاختبار باستخدام نظام مجموعة Service Fabric المحلي.

  3. يجب أن يكون تطبيق وحدة التحكم تطبيق بسعة 64 بت للحفاظ على التوافق مع مشروع الواجهة والاعتماديات الأخرى. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق مشروع ActorClient، ثم انقر فوق Properties. في علامة التبويب Build، قم بتعيين Platform target على x64.

    بناء الخصائص

  4. يتطلب مشروع العميل حزمة NuGet للمستخدمين الموثوق بهم. انقر فوق Tools>NuGet Package Manager>Package Manager Console. في وحدة تحكم Package Manager، أدخل الأمر التالي:

    Install-Package Microsoft.ServiceFabric.Actors -IncludePrerelease -ProjectName ActorClient
    

    يتم تثبيت حزمة NuGet وجميع تبعياتها في مشروع ActorClient.

  5. يتطلب مشروع العميل أيضاً إشارة إلى مشروع الواجهات. في مشروع ActorClient، انقر بزر الماوس الأيمن فوق Dependencies ثم انقر فوق Add Project Reference.... وحدد Projects>Solution (إذا لم تكن محددة بالفعل)، ثم حدد مربع الاختيار بجوار HelloWorld.Interfaces. انقر فوق موافق.

    مربع الحوار

  6. في مشروع ActorClient، استبدل محتويات Program.cs بالكامل بالتعليمة البرمجية التالية:

    using System;
    using System.Threading.Tasks;
    using Microsoft.ServiceFabric.Actors;
    using Microsoft.ServiceFabric.Actors.Client;
    using HelloWorld.Interfaces;
    
    namespace ActorClient
    {
        class Program
        {
            static void Main(string[] args)
            {
                IHelloWorld actor = ActorProxy.Create<IHelloWorld>(ActorId.CreateRandom(), new Uri("fabric:/MyApplication/HelloWorldActorService"));
                Task<string> retval = actor.GetHelloWorldAsync();
                Console.Write(retval.Result);
                Console.ReadLine();
            }
        }
    }
    

التشغيل وتصحيح الأخطاء

اضغط على F5 لإنشاء التطبيق ونشره وتشغيله محلياً في نظام مجموعة تطوير Service Fabric. أثناء عملية النشر، يمكنك مشاهدة التقدم في نافذة Output.

نافذة إخراج تصحيح أخطاء Service Fabric

عندما يحتوي الناتج على النص، يكون التطبيق جاهزاً، فمن الممكن اختبار الخدمة باستخدام تطبيق ActorClient. في مستكشف الحلول، انقر بزر الماوس الأيمن على مشروع ActorClient، ثم انقر على Debug>Start new instance. يجب أن يعرض تطبيق سطر الأوامر الناتج من خدمة المستخدم.

إخراج التطبيق

تلميح

يصدر وقت تشغيل Service Fabric Actors بعض الأحداث وعدادات الأداء المتعلقة بأساليب المستخدم. وهي مفيدة في التشخيص ومراقبة الأداء.

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

تعرف على المزيد حول كيف يستخدم المستخدمون الموثوق بهم منصة نسيج الخدمة.