باستخدام app_offline.htm لأخذ تطبيق غير متصل أثناء تحديث DLL أثناء تحديث DLL's
-
03-10-2019 - |
سؤال
لذلك أستخدم أحيانًا app_offline.htm لأخذ تطبيق في وضع عدم الاتصال أثناء تحميل إصدار جديد.
ومع ذلك ، بينما أنا بصدد تحميل DLL أكبر ، أحصل على شاشة الأخطاء الصفراء قائلة إنه لا يمكن تحميل DLL.
يبدو أن هذا غير متزامن مع توقعاتي حول ما يفعله app_offline.htm (يوقف التطبيق بالكامل) ، كما يوفر للمستخدمين أخطاء في وضع App_offline.htm اللطيف الذي طرحته.
هل أفعل شيئًا خاطئًا أم أن هذا السلوك عن طريق التصميم؟
المحلول
يتم إيقاف التطبيق app_offline.htm ، ولكن لا يوقف التحويل البرمجي بالكامل.
لذلك ، في أول DLL الذي تحمّله ، يرى برنامج التحويل البرمجي المختلف وابدأ التجميع مرة أخرى ... لذا عندما تحاول استخدام DLL التالي ربما يتم استخدامها بواسطة التجميع ولا يمكن حذفها/استبدالها.
هناك أيضًا احتمال أنه حتى إذا طلبت إغلاق التطبيق ، فلا يزال التطبيق يقوم بإجراء العملية واستخدام DLL هذا.
ما أقوم به ، أقوم بتحميل جميع الملفات على الخادم في دليل آخر ، أفتح app_offline.htm ، ثم أنتظر إغلاق جميع تجمعاتي (لدي رسالة مكان في نهاية التطبيق) ثم نسخها من الخادم ملفات التحديث بسرعة. الأمر مختلف هو أنه مع FTP ، يكون وقت التحميل أكبر من الوقت الذي يؤدي فيه برنامج التحويل البرمجي لإعادة ترجمة الوظائف العالمية من DLL.
لمعرفة أنه حتى مع app_offline.htm ، لا يزال النظام يقوم بتجميع ، فقط استخدم Explorer Process ومشاهدة المجموعات.
ما هو التجميع؟ أعتقد أن تجميع DLLs باستثناء الصفحات.
الرسالة من برنامج التحويل البرمجي الذي يحاول تجميع البرنامج ، من أول DLL الذي تقوم بتحميله ، يتم تشغيل برنامج التحويل البرمجي وبدء تشغيل التجميع الجديد ، والآن تقوم بتحميل البرنامج التالي ، وبينما تحاول إجراء التجميع ، يتم قفل DLL بواسطة FTP.