تقليل وقت بدء تشغيل تطبيق نموذج .NET windows الذي يعمل على محرك أقراص متصل بالشبكة

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

  •  01-07-2019
  •  | 
  •  

سؤال

لدي تطبيق نموذج Windows .NET 2.0 بسيط يتم تشغيله من محرك أقراص متصل بالشبكة (على سبيل المثال.\MyServer\MyShare\app.exe).إنه برنامج أساسي جدًا، ويقوم فقط بتحميل الحد الأدنى من مكتبات .NET.ومع ذلك، لا يزال التحميل يستغرق ما بين 6 إلى 10 ثوانٍ.يعتقد الناس أن هناك خطأ ما وأن التطبيق الصغير جدًا يستغرق وقتًا طويلاً للتحميل.

هل هناك أي اقتراحات لتحسين سرعة بدء التشغيل؟

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

المحلول

جرِّب أو حاول مستكشف عملية Sysinternals.يحتوي على عمود "% الوقت في JIT".إذا كان هذا الرقم كبيرًا، فيمكنك الركض نجين على التطبيق الخاص بك.إذا لم يكن الأمر كذلك، فمن المحتمل أن يكون اتصال الشبكة بطيئًا.لدى CodeGuru برنامج تعليمي حول استخدام نجين.

نصائح أخرى

لتسريع وقت التحميل، يمكنك تجميع تطبيق بدء صغير والسماح لهذا التطبيق بتحميل التجميعات في وقت التشغيل من مكتبة خارج مجلد bin.

http://support.microsoft.com/kb/837908

يعد تحديد وقت JIT لوزن جدوى NGEN بالتأكيد نقطة انطلاق جيدة.أتفق أيضًا مع أولئك الذين يتطلعون إلى التلاعب بوقت التحميل باستخدام نقطة إدخال أخرى لتحميل التجميعات بعد ذلك.في كثير من الأحيان هو مظهر السرعة عكس السرعة الفعلية الذي يحسن تجربة المستخدم.

قم بإعداد النقر مرة واحدة للتطبيق حتى يتم نشره على الجهاز المحلي.

يمكنك الغش مثل Microsoft Office (و Adobe على ما أعتقد) وإضافة تطبيق في مجموعة بدء التشغيل يخبر التطبيق بالتحميل ثم إلغاء التحميل على الفور.بهذه الطريقة يتم تخزين ملفات DLL مؤقتًا في الذاكرة مؤقتًا عندما يحاول المستخدم بدء تشغيل التطبيق.الصيد فقط:لست متأكدًا تمامًا مما إذا كان الأمر يعمل بهذه الطريقة مع الملفات المتصلة بالشبكة - وإذا لم يكن الأمر كذلك، فقد يكون هذا هو سبب البداية البطيئة (أي أنك تقوم دائمًا ببداية باردة مقابل بداية دافئة محتملة إذا كنت تعمل من الآلة المحلية).

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