خدمة تطبيق هندسة البرمجة

تعتمد الخدمة Windows applicatiتشغيلs تشغيل فئة التي ترث من System.ServiceProcess.ServiceBaseclass. يمنع الأساليب من هذه الفئة وتعريف وظيفة لهم إلى تحدد كيفية تصرف الخدمة الخاصة بك.

الرئيسي فئات المتعلقة بإنشاء الخدمة هي:

بالإضافة إلى ذلك، تسمى فئة ServiceControllerيمكن استخدامها للتعامل مع الخدمة نفسها. Th هو الفئة هو غير المتعلقة بإنشاء إحدى الخدمات، ولكن يمكن استخدامها لبدء وإيقاف تشغيل الخدمة تمرير الأوامر إليه وإرجاع سلسلة من عمليات التعداد.

تعريف سلوك الخدمة's الخاص بك

في فئة الخدمة الخاص بك، يمكنك يمنع وظائف فئة Base التي تحدد ماذا يحدث عند الولاية الخدمة الخاص بك هو تم تغييرهها في "الخدمات إدارة التحكم". ServiceBaseفئة الكشف عن الأساليب التالية، يمكنك يمنع إلى إضافة سلوك cusإلىm.

Method

يمنع إلى

OnStart

الإشارة إلى الإجراءات التي يتم عندها تنفيذ عند بدء تشغيل الخدمة قيد التشغيل. يجب كتابة تعليمات برمجية في هذا إجراء للخدمة الخاص بك إلى القيام بعمل مفيد.

OnPause

الإشارة إلى ما ينبغي أن يحدث عند الخدمة هو بشكل مؤقت.

OnStop

الإشارة إلى ما ينبغي أن يحدث عند توقف الخدمة تشغيل.

OnContinue

الإشارة إلى ما ينبغي أن يحدث عند استئناف الخدمة الخاص بك يعمل العادي بعد الآن بشكل مؤقت.

OnShutdown

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

OnCustomCommand

الإشارة إلى ما ينبغي أن يحدث عند تلقي الخدمة الخاصة بك أمر مخصص. للحصول تشغيل مزيد من المعلومات حول الأوامر مخصصة، راجع MSDN عبر الإنترنت.

OnPowerEvent

الإشارة إلى كيفية يجب أن يستجيب الخدمة عند حدث لإدارة الطاقة هو تلقي مثل بطارية المنخفضة أو عملية التوقف المرحلي.

ملاحظة

هذه وظائف تمثل حالات تنقل الخدمة من خلال في مدة بقاء الخاص به؛ وانتقالات الخدمة من الولاية إلى أخرى. على سبيل المثال، لا تحصل الخدمة على إلى الرد إلى OnContinueالأمر قبل OnStartتم استدعاء.

هناك عدة غير ذلك خصائص والأساليب التي موضع اهتمام. تضمن هذه الميزات:

  • Runأسلوب تشغيل ServiceBaseفئة. وهذا هو يؤشر الإدخال الرئيسي الخدمة. عندما تقوم بإنشاء إحدى خدمات باستخدام قالب خدمة Windows رمز هو المدرجة في تطبيق الخاص بك Mainطريقة لتشغيل الخدمة. تظهر هذه التعليمة البرمجية كما يلي:

    Dim ServicesToRun() As System.ServiceProcess.ServiceBase
    ServicesToRun = 
        New System.ServiceProcess.ServiceBase() {New Service1()}
    System.ServiceProcess.ServiceBase.Run(ServicesToRun)
    
            System.ServiceProcess.ServiceBase[] ServicesToRun;
            ServicesToRun = new System.ServiceProcess.ServiceBase[] 
              { new Service1() };
            System.ServiceProcess.ServiceBase.Run(ServicesToRun);
    

    ملاحظة

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

  • سلسلة من خصائص تشغيل ServiceBaseفئة. تحدد هذه ما وظائف يمكن استدعاء على الخدمة الخاصة بك. تشغيل سبيل المثال، عندما CanStopخاصية هو تعيين إلى true، OnStopيمكن استدعاء الأسلوب تشغيل الخدمة الخاصة بك. عند CanPauseAndContinueخاصية هو تعيين إلى true، OnPauseو OnContinueيمكن استدعاء الأساليب. عند تعيين واحد هذه الخصائص إلى true، يجب أن تتجاوز ثم و تعريف المعالجة للأساليب المقترنة.

    ملاحظة

    يجب أن تتجاوز الخدمة الأقل OnStartو OnStopإلى أن تكون مفيدة.

يمكنك أيضا استخدام مكون يسمى ServiceControllerللتواصل مع و عنصر تحكم سلوك موجودة الخدمة.

راجع أيضًا:

المهام

كيفية القيام بما يلي: إنشاء الخدمات Windows

المبادئ

مقدمة إلى تطبيقات الخدمة Windows