سؤال

أحاول رفع بعض الأحداث المخصصة إلى أ SqlWebEventProvider من خدمة Windows. فيما يلي الخطوات التي اتخذتها والنتائج التي رأيتها. لا أستطيع معرفة هذا واحد.

  1. الإعداد 2 healthMonitoring مقدمي الخدمات SqlWebEventProvider, ، و SimpleMailWebEventProvider (كلا. NET 2.0 Framework ، و SQLWEBeventProvider هو أساسا اسم سلسلة الاتصال الافتراضي مع)

  2. إعداد موقع الويب وخدمة Windows التي ترفع نفس نوع الحدث

  3. تم نقل عنصر HealthMonitoring من Global Web.config إلى Machine.config (حتى تتمكن خدمة Windows من التقاط التكوين) .. (تقع الافتراضيات HealthMonitoring في Web.Config Global ، لذلك لن تكون وراثية من Windows Services ، ولهذا السبب اضطررت إلى نقل الإعدادات الافتراضية إلى الجهاز)

هذا ما فعلته لاختبار

لاختبار هذا المشهد ، قمت برفع حدث من موقع الويب إلى كل من مقدمي الخدمات وعمل بشكل جيد. ثم في خدمة Windows ، قمت برفع الأحداث إلى كليهما ولا يعمل إلا إلى SimpleMailWebEventProvider. لقد تأكدت من أن سلاسل الاتصال كانت صحيحة ل SqlWebEventProvider (كلاهما يحصل على سلسلة conn من machine.config).

لقد نسخت بالكامل HealthMonitoring عنصر من web.config إلى ملف تكوين خدمة Windows ولا يزال يحصل على نفس السلوك.

قمت بإعادة تشغيل الخدمة ، وقمت بإلغاء تثبيتها أعيد تثبيتها ... لا يزال ، نفس السلوك.

هذا ما أعرفه بالتأكيد

  • لا حرج في مقدمي الخدمات ، سيعمل كلاهما من موقع الويب.
  • يمكن أن ترث مواقع الويب وخدمات الويب من Machine.config بنفس الطريقة
  • سلسلة الاتصال صحيحة
  • الأحداث تثير
  • يمكن أن ترفع الأحداث إلى SimpleMailWebEventProvider لكل من خدمة Windows وموقع الويب
  • يمكن أن ترفع الأحداث إلى SqlWebEventProvider فقط من الموقع
هل كانت مفيدة؟

المحلول

لقد وجدت القضية

"ASPNET_WEBEVENT_LOGEVENT" يتوقع المعلمة "applicationPath" ، والتي لم يتم توفيرها.

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