لا يتم تشغيل Quartz.NET عندما يكون رمز معين في إحدى الطرق

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

سؤال

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

بناء على مثال على Quartz.NET ، لدي فئة IJob التي تم تجاوزهاطريقة التنفيذ (مسجلة مع الجدولة والمشغل).

عندما تتم إزالة السطر المخالف (المعلق) ، يمكنني الوصول إلى نقطة التوقف في عبارة Trace.WriteLine.مع وجودها ، لن يتم الوصول إلى نقطة التوقف مطلقًا ، ولن يكون الناتج موجودًا في مكان آخر.

الرمز: Genacodicetagpre

أنا في حيرة من أمري بشأن ما قد يكون تقييمه والذي قد يتسبب في عدم تشغيل هذا الحدث.أي اقتراحات؟

  • يوجد "MyUpdateWorker" في مكتبة أخرى
  • هذا قيد التشغيل حاليًا بصفته دور عامل Azure
هل كانت مفيدة؟

المحلول 2

رائع - لقد كان هذا غريبًا.

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

تم تعيين هدف النظام الأساسي على (أي كان متاحًا فقط) x86.كل شيء آخر كان يتم تجميعه كـ "أي وحدة معالجة مركزية" ، وربما 64 بت.

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

نصائح أخرى

أعتقد أنني سأفحص المُنشئ لفصل MyUpdateWorker () لمعرفة ما إذا كان كل ذلك يعمل بشكل جيد ، ربما يكون لديك سجل في سجلات التشخيص لمعرفة ما إذا كان بإمكانك شيئًا ما هناك يشير إلى السبب.عادةً ما أرى مشاكل تتعلق بالمكتبات المفقودة على Azure ، لذا ربما يكون هناك تبعية مفقودة.

فقط عدد قليل من الأشياء التي يجب التحقق منها (تناولت كوبين فقط من القهوة هذا الصباح لذا ما زلت في حالة الإحماء)

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