我是 ASP.NET MVC 的新手,我正在寻找最不痛苦的方法来设置全局错误处理、日志记录和报告(通过电子邮件)。仅供引用,我的 ASP.NET MVC 应用程序在 Azure 中作为 Web 角色托管,但我试图避免使用任何 Azure 特定的 Hook 。
看起来安装和配置 ELMAH 是很好的第一步。
当我查看 NuGet 时,我看到:
我要安装哪些软件包?
编辑:经过一些实验,我更加困惑。在默认 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 项目中运行时不需要的各个部分
您可以阅读作者的帖子以更好地了解其工作原理:
就我个人而言,我相信最后一个包将是最好的一个,它似乎是两个 mvc 包中更新和维护的。
关于asp.net-mvc - Elmah.MVC 与 Elmah.contrib.Mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580944/