asp.net-mvc - Elmah.MVC 与 Elmah.contrib.Mvc

标签 asp.net-mvc elmah

我是 ASP.NET MVC 的新手,我正在寻找最不痛苦的方法来设置全局错误处理、日志记录和报告(通过电子邮件)。仅供引用,我的 ASP.NET MVC 应用程序在 Azure 中作为 Web 角色托管,但我试图避免使用任何 Azure 特定的 Hook 。

看起来安装和配置 ELMAH 是很好的第一步。

当我查看 NuGet 时,我看到:

  • ELMAH(“带有用于快速入门的初始配置的 ELMAH...”)
  • Elmah.Contrib.Mvc ("...旨在增加 MVC 项目的易用性...")
  • Elmah.MVC ("...无痛集成到 MVC...")

  • 我要安装哪些软件包?

    编辑:经过一些实验,我更加困惑。在默认 MVC 4 应用程序之上安装三个选项后,我比较了项目文件。似乎 Elmah.Contrib.Mvc 和 Elmah.MVC 都没有添加 elmah.1.2.2 包(我在安装基本 ELMAH 时得到)。此外,这两个软件包都没有添加 <elmah> Web.config 部分。

    那么...我是否需要先安装 ELMAH,然后安装其中一个“...MVC”软件包以获得他们可能为我带来的任何漂亮改进?

    最佳答案

    ELMAH - 这是默认的 ELMAH 包,其中没有特定于 mvc 的代码,如果您不执行所描述的 here我不相信 ELMAH 会记录您的 Controller 中发生的任何错误,并且您可能无法访问 ELMAH 日志页面

    Elmah.Contrib.Mvc - 这是基于 ELMAHS 的创建者之一对 stack overflow question 的回答而专门针对 MVC 对 ELMAH 的增强。 .

    Elmah.MVC - 这与上面的包类似,但是我相信它为路由等 mvc 特性提供了更好的支持,它也很容易安装和配置,它消除了很多你必须与 ELMAH 做的困惑排除在 mvc 项目中运行时不需要的各个部分

    您可以阅读作者的帖子以更好地了解其工作原理:

  • Integrating ELMAH to ASP.NET MVC in right way
  • ELMAH MVC controller released on NuGet
  • ELMAH.MVC v.2.0.0 - Release Candidate

  • 就我个人而言,我相信最后一个包将是最好的一个,它似乎是两个 mvc 包中更新和维护的。

    关于asp.net-mvc - Elmah.MVC 与 Elmah.contrib.Mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580944/

    相关文章:

    c# - 格式化 anchor 的字符串,必须调用 javascript 函数 onclick(mvc)

    jquery - Url.Action 找不到 Controller

    asp.net-mvc-4 - 在配置中禁用 ELMAH

    asp.net-mvc - Elmah 不会在 MVC 应用程序中记录 http post 请求的异常 - 如果请求包含 XML

    asp.net - Elmah nuget 包不更新 web.config

    javascript - 无法在加载的模态中触发点击事件

    c# - 身份的扩展

    asp.net - 覆盖 Elmah 记录的错误消息

    asp.net - ELMAH 记录了两次 Ajax 错误

    c# - MVC ASP.NET 正在使用大量内存