لماذا يقوم تطبيق يعمل بحساب النظام على Windows عند تسجيل الدخول

StackOverflow https://stackoverflow.com/questions/970765

  •  13-09-2019
  •  | 
  •  

سؤال

لدي تطبيق AC # الذي تم إطلاقه ضمن حساب النظام على جهاز ويعرض بعض مربعات الحوار إلى مستخدم. عند تسجيل دخول المستخدم العادي، يتم إنهاء التطبيق أيضا. كنت أعتقد أنه منذ تشغيله في ظل حساب النظام، سيستمر تشغيله على الرغم من عدم تسجيل الدخول المستخدم.

أي معلومات حول لماذا يحدث هذا موضع تقدير.

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

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

تحتاج إلى تشغيل التطبيق الخاص بك كخدمة Windows.

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

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

نظرا لأن العملية بدأت بواسطة Explorer.exe، فسيتم إنهاء عندما يقوم المستخدم بتسجيل الخروج بغض النظر عن الحساب الذي يعمل عليه. هذا ببساطة الطريقة التي يعمل بها ويندوز. للسماح لعملية متابعة التشغيل، يجب أن تكون خدمة أو ربما بدأت جدولة المهام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top