إشارات الخطأ في Elmah لا تعمل مع ASP.NET MVC
-
25-09-2019 - |
سؤال
ما أفهمه هو أن رفع أخطاء يجب أن يسجل خطأي أو يضغط على فئة CustomERRORWITHELMAHATTRIBET (مأخوذة من هذا مثال) ، لكنها لا.
أنا أستخدم Decorator GealtherrorWithelmah لوحدة التحكم في السؤال. يعمل تسجيل الخطأ عندما يتعلق الأمر باستثناءات غير معطلة في وحدة التحكم (أنا أتصل صراحةً بوجيكس وعدم استخدام الشروط المذكورة في كتلة الكود الثاني من مثال). لكن ميزة إشارات الخطأ التي سيتم استخدامها للأخطاء التي يتم التعامل معها تبقيني محيرًا. كيف تعمل إشارات الخطأ ... هل من المفترض أن تفعل شيئًا آخر غير التسجيل ... إذا كان الأمر كذلك ، فكيف يمكنني استخدامه لتسجيل استثناءات المعالجة الخاصة بي؟
هذا هو الكود الذي أستخدمه للإشارة إلى الأخطاء التي تم التعامل معها
ErrorSignal.FromCurrentContext().Raise(new Exception("Some Handled Error"));
فيما يلي مقتطفات من إعداداتي في تكوين الويب
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<elmah>
<security allowRemoteAccess="yes" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Log" />
</elmah>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
المحلول
أنا أستخدم Elmah مع .NET MVC وتربية استثناءات Elmah تعمل بشكل برمجي بالنسبة لي. قد أمسك بالقش هنا ولكن من النظر إلى التعليق الرابع هذه الصفحة يوجد في موقع Elmah بعض الخطوط المدرجة في الويب.
قد يكون أنك لم تتضمن الخطوط الموجودة في المقتطف الخاص بك ، لكنني اعتقدت أنني سأرميها هناك على أي حال