Подтвердить что ты не робот

Elmah.MVC против Elmah.contrib.Mvc

Я новичок в ASP.NET MVC, и я ищу наименее болезненный способ для создания глобальной обработки ошибок, регистрации и создания отчетов (по электронной почте). FYI, мое приложение ASP.NET MVC размещается в роли веб-роли в Azure, но я стараюсь избегать использования каких-либо зависимых от Azure перехватов.

Похоже, что установка ELMAH и настройка - хороший первый шаг.

Когда я смотрю в NuGet, я вижу:

  • ELMAH ( "ELMAH с начальной конфигурацией для быстрого запуска..." )
  • Elmah.Contrib.Mvc( "... предназначен для упрощения использования внутри проектов MVC..." )
  • Elmah.MVC( "... безболезненная интеграция в MVC..." )

Какой из этих пакетов я хочу установить?

EDIT: после некоторых экспериментов я более смущен. Я сравнил файлы проекта после установки каждого из трех вариантов поверх стандартного приложения MVC 4 по умолчанию. Похоже, что ни Elmah.Contrib.Mvc, ни Elmah.MVC не добавляют пакет elmah.1.2.2 (который я получаю, когда устанавливаю базовый ELMAH). Кроме того, ни один пакет не добавляет раздел <elmah> в Web.config.

Итак... мне нужно сначала установить ELMAH, а затем установить один из пакетов "... MVC", чтобы получить какие-то отличные улучшения, которые они предположительно получают от меня?

4b9b3361

Ответ 1

ELMAH - это ELMAH-пакет по умолчанию, в котором нет специального кода mvc, если вы не делаете то, что описано здесь Я не верю, что ELMAH регистрирует любые ошибки, которые происходят в ваших контроллерах, и вы не сможете получить доступ к странице журнала ELMAH

Elmah.Contrib.Mvc - Это усовершенствование ELMAH специально для MVC, основанного на одном из создателей ответа ELMAHS на вопрос о переполнении стека.

Elmah.MVC - Это похоже на вышеупомянутый пакет, но я считаю, что он обеспечивает гораздо лучшую поддержку функций mvc, таких как маршруты и т.д., It также довольно легко установить и настроить, он удаляет много беспорядков вокруг вас, что вам нужно будет сделать с ELMAH, чтобы вытащить различные части, которые необходимы при запуске в проекте mvc

Вы можете прочитать сообщения авторов, чтобы лучше понять, как это работает:

Лично я считаю, что последний пакет был бы лучшим в использовании, он, кажется, более обновлен и поддерживается двумя mvc-тегами.

Ответ 2

Вы можете использовать Элфар вместо Эльмы. Elfar "вдохновлен" Elmah, но предназначен для специфики MVC и очень прост в настройке.

Просто откройте NuGet и найдите Elfar. Вы найдете несколько различных пакетов, но в целом вы хотите тот, который соответствует технологии, которую вы используете в использовании. Я не знаком с веб-ролями Azure, но если у вас есть доступ к стандартным Sql-серверам, вы можете просто использовать Elfar.SqlClient.

Подробнее здесь:

https://github.com/stevenbey/elfar/wiki