سؤال

أحاول استخدام مراقبة صحة ASP.net لتسجيل الاستثناءات غير المعالجة من خدمة ويب asmx.لقد قمت بتمكين مراقبة الصحة في web.config ولكنها لا تسجل أي شيء.هل تعمل المراقبة الصحية مع خدمات الويب asmx؟لقد بحثت في Google ويبدو أن الآخرين قد طرحوا نفس السؤال ولكن لم يحصلوا على إجابة محددة.

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

المحلول

والرجاء عدم نشر رد ما لم يجيب على السؤال المطروح. إجابات نصف إلى شيء آخر غير مسألة يخلط القارئ. المراقبة الصحية له علاقة إما "غير معالج حقا" ASP.NET استثناءات أو الحدث Application_Error شيء.

والجواب هو لا. لقد حفرت هذه بعض الشيء وبالنسبة لبعض الاستثناءات السبب أثار ضمن أساليب شبكة الإنترنت لا يصل الى مقدمي المراقبة الصحية. يبدو أن لديك للقبض عليهم والتعامل مع نفسك.

نصائح أخرى

وهناك فرق بين التفسير الطبيعي للاستثناءات غير معالج، وتلك توم في اشارة الى. ما هو توم اشارة الى استثناءات غير معالج حقا، من شأنها ان تقتل عملية W3wp.exe الخاص بك (قبل أن يحصل على فرصة للتسجيل عليه)، ولقد كتبت عن هنا: HTTP: // شبكة الاتصالات العالمية. improve.dk/blog/2008/04/07/spawning-threads-in-aspnet-can-be-dangerous

والاستثناءات غير المعالجة العادية سوف يؤدي إلى ocurring استثناء وتظهر صفحة خطأ للمستخدم / المستدعي. انها لن ومع ذلك تعطل عملية W3wp.exe الخاص بك. وينبغي أن ينتبه هذه الاستثناءات من قبل المراقبة الصحية.

في Global.asax، إذا كنت تستخدم واحد لصناعة السيارات في المتولدة بواسطة Visual Studio، يمكنك إضافة رمز إلى الأسلوب Application_Error لمعالجة الاستثناءات وسجل لهم في أي بالطريقة التي تختارها. يمكنك أيضا تجاوز أسلوب التهيئة وإضافة معالج حدث لحدث خطأ الفئة التي.

في كلتا الحالتين أنت فقط الحصول على الفانيليا غير مفيد كائن EventArgs، ولكن يمكنك استخدام HttpContext.Current.Server.GetLastError () للحصول على الاستثناء الذي حدث.

وكما ذكر ملصق آخر، وهذا قد لا تصفية الاستثناءات التي القيت من قبل المندوبين تشغيل بشكل متزامن، المواضيع البدء بنفسك، أو creaeted المهام الصفحة غير متزامن باستخدام Page.RegisterAsyncTask (). على هذه تحتاج دائما للتأكد من أن التنفيذ يكون استثناء العودة يتوقف ذلك أن الاستثناءات يمكن صيدها ولا يحصل اجهاض العملية المنفذة IIS.

لن ينجح الأمر لأن الاستثناءات غير المعالجة لا تعمل داخل محاولة/التقاط من أي نوع.وبسبب ذلك، لن يتمكن من تسجيله.ألق نظرة على منشور المدونة هذا:http://blogs.msdn.com/tom/archive/2007/12/04/unhandled-exceptions-causing-asp-net-to-crash-in-net-2-0.aspx

CALM المنتج يجب أن تعمل في هذه الحالة؛ اسمحوا لي أن أعرف إذا كان لا - أنا كتبت ذلك؛ -)

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