لا تزال BITS جيدة تكنولوجيا تحديث الخلفية؟
-
08-07-2019 - |
سؤال
واحد من التطبيقات هوايتي يستخدم سكليتي النهاية الخلفية لتخزين بيانات التطبيق. التطبيق الإعداد بحيث يمكن للمستخدم النقر على "التحقق من وجود تحديثات" نموذجي زر، والتي سوف الاستعلام عن خدمة ويب لمعرفة ما إذا كان يتوفر تحديث. إذا كان كذلك، يقوم المستخدم بالنقر على زر "تحديث" وتنزيل لقاعدة البيانات الجديدة (عبر HTTP) الذي ثم يحصل المثبتة في التطبيق. هذه العملية هي حاليا "مشروط" في أن المستخدم لا تستطيع أن تفعل أي شيء آخر في الطلب حتى تحميل وتثبيت كاملة.
وأنا أعمل على استكمال تطبيق، وشيء واحد أريد أن يحدث هو أن تكون عملية التحديث هذه تحدث وراء الكواليس، علاء تحديث ويندوز. عندما الحرائق تطبيق ما يصل، سيتم الاستعلام عن الخدمة، وإذا كان هناك تحديث متوفر، فإنه تلقائيا يتم تحميلها، ولكن في الخلفية بحيث يمكن للمستخدم الاستمرار في القيام بعملهم. وبمجرد اكتمال التحميل، سيتم مطالبة المستخدم لتثبيت التحديث.
ولقد بدا على نطاق واسع في BITS أ > وعلى الرغم من عدم وجود واجهات برمجة التطبيقات التي رأيتها حتى الآن للاستفادة من التكنولوجيا، ولقد رأيت بعض نموذج التعليمات البرمجية وأعتقد أنني يمكن أن تجعل من العمل.
ولكن هل هذا هو أفضل بعيدا لنهج "تحديث الخلفية" لمكتبة البيانات، أم أن هناك بعض الحلول الأخرى / نهج هناك؟
المحلول
إذا كنت تقوم بتشغيل فقط على ويندوز من مايكروسوفت، وزبائنك تستخدم نسخة جديدة كافية من نظام التشغيل لدعم BITS، ثم أعتقد بالتأكيد يجب الاستفادة من وظيفة بنيت بالفعل في النظام الأساسي، بدلا من القيام بما الجميع لا والكتابة الخاصة المدقق تحديث الخلفية الخاصة بك التي تقع في بلدي منطقة الإعلام بشريط المهام ويستخدم موارد النظام دون داع.
وأما عن المعلومات حول BITS:
نصائح أخرى
وأنا PM لفريق BITS في نظام التشغيل Windows - نعم، والتكنولوجيا BITS هي مناسبا لكثير من الأوقات عندما كنت في حاجة لتنزيل (أو تحميل) البيانات بطريقة هذا صديقة للمستخدم. BITS يحاول أن يكون حذرا حول القص النطاق الترددي للشبكة، وحالة الطاقة الحالية، وتكاليف الشبكة، وسوف محاولة التنزيلات على فشل تلقائيا. لقد خلقت أيضا مجرد عينة BITS مدير البرنامج على جيثب لكل من البرامج في C # و. NET!
وهذا يشعر حقا مثل عليك ان تفكر في تزامن الإطار HTTP: // MSDN. microsoft.com/en-us/sync/bb736753.aspx بدلا من BITS.