Elmah.axd هو التصفح ولكن لن تسجل أي من أخطائي؟

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

  •  19-09-2019
  •  | 
  •  

سؤال

لقد قمت بإعداد كل شيء وأستطيع استعراضها إلى /LMAH.AXD لكني تسبب في كل هذه الأخطاء ولن تسجل أي منها، فهي تقول فقط "لا توجد أخطاء" ... ما هيك فعلت خاطئ؟

هنا هي الأشياء التي أضفتها إلى Web.config:

<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" />     
  </sectionGroup>
</configSections>

<httpHandlers>
  <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>

<httpModules>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />  
</httpModules>

<elmah>
  <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
  <security allowRemoteAccess="yes" />
</elmah>

أيضا: كان هذا بالفعل في بداية تسجيلاتي ()

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

قرأت أنه لا يهم أكثر مع ASP.NET MVC 1.0 على الرغم من ذلك، من المفترض (لكل موقع المهد ...)

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

المحلول

يبدو أن التكوين هو بالترتيب؛ أفضل تخميني هو أن مستخدم تطبيق الويب الخاص بك IIS ليس لديه إذن بالكتابة إلى app_data. إذا كنت قد قمت بإغلاق الأذونات، فسيقرأ مستخدم التطبيق، ولكن لا يكتب، أذونات هناك.

يمكنك فتح الأذونات أو تسجيل الدخول إلى دليل آخر خارج مسار الويب (وهو المنظمة البحرية الدولية أكثر أمانا قليلا) وتأكد من تعيين أذونات القراءة / الكتابة للمستخدم هناك.

نصائح أخرى

وصفة الحل

لقد قمت بتثبيت من Nuget elmah و elmah on XML log, ، لم يحصل على Funcionality المتوقع على الرغم من أنني أستطيع الوصول http://localhost/elmah.axd, ، ولكن لا يلتقط خطأ.

أعطيت إذن الكتابة إلى حساب IIS_ianers في المجلد App_Data وبدأ العمل في أخطاء HTTP 404 والأخطاء التي تكون خارج البنية التحتية MVC. لكنها لم تسجل استثناءات داخل MVC. كان الحل تثبيت elmah.mvc. حزمة من Nuget وبدأت التقاط جميع الاستثناءات.

إذا كان التكوين الخاص بك على ما يرام، فما عليك سوى تثبيت elmah.mvc حزمة من Nuget وينبغي أن تبدأ تخزين سجلات داخل MVC، وليس فقط HTTP 404.

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