Сигнализация ошибок в Elmah не работает с ASP.NET MVC
-
25-09-2019 - |
Вопрос
Мое понимание заключается в том, что повышение ошибок должен регистрировать мою ошибку или ударить пользовательский класс CanderErrorRORWithelmahattribute (взятый из этого пример), Но это не так.
Я использую декоратор CanderErrorWithelmah для рассматриваемого контроллера. Регистрация ошибок работает, когда речь идет о необработанных исключениях в контроллере (я явно вызывающую LogException и не использую условия, упомянутые во втором блоке кода пример). Но функция сигнализации об ошибках, которая должна использоваться для обработки ошибок, удерживает меня с толку. Как работает сигнализация ошибок ... это должно сделать это что-то кроме регистрации ... Если так, как я могу использовать его в систему.
Это код, который я использую для ошибок обрабатываемых сигналами
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 есть пара линий, включенных в Web.config, которая не в вашем примере выше.
Может быть, что вы просто не включали линии в свой фрагмент, но я подумал, что вы выбросите его в любом случае