首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让ELMAH使用ASP.NET MVC [HandleError]属性?

要让ELMAH使用ASP.NET MVC HandleError属性,请按照以下步骤操作:

  1. 首先,确保已经安装了ELMAH NuGet包。在包管理器控制台中运行以下命令来安装:
代码语言:txt
复制
Install-Package Elmah.MVC
  1. 在Global.asax文件中,添加以下代码来注册ELMAH:
代码语言:csharp
复制
using Elmah;

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    // 注册ELMAH
    ErrorLog.GetDefault(HttpContext.Current);
}
  1. 在Web.config文件中,添加以下配置来启用ELMAH:
代码语言:xml<configuration>
复制
 <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.XmlFileErrorLog, Elmah" logPath="~/App_Data/Elmah" />
  </elmah>

 <system.web>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
    </httpModules>
  </system.web>

 <system.webServer>
   <modules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
    </modules>
  </system.webServer>
</configuration>
  1. 在需要使用HandleError属性的控制器或操作方法上添加HandleError属性,例如:
代码语言:csharp
复制
[HandleError]
public ActionResult Index()
{
    // 在这里执行您的代码
    return View();
}

现在,当您的应用程序中发生错误时,ELMAH将自动捕获并记录错误,并使用ASP.NET MVC HandleError属性显示错误视图。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Glimpse 监测ASP.NET MVC网站

在官网上的说明,目前Glimpse支持ASP.NET WebForm与ASP.NET MVC。...使用NuGet安装Glimpse NuGet上面的Glimpse package目前只有支持ASP.NET MVC3 ?...与ELMAH所遇到的问题是一样的,那就是预设安装后,都是可以匿名浏览,对于网站的安全性来说是个相当大的威胁,尤其是Glimpse的Config,会把Web.Config的所有信息都完整呈现,所以这一篇文章就要来说明如何...其实glimpse可以结合ELMAHELMAH所记录到的错误讯息于glimpse中显示,在系统的登入认证后,只要启用glimpse就可以去看ELMAH的纪录数据,不必再另外进入ELMAH, 接下来介绍如何透过...Glimpse 调试 ASP.NET MVC 应用 Elmah for Glimpse – Best of Both Worlds Using Glimpse with ASP.Net MVC

4.6K90

如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

第1部分-使用Serilog RequestLogging减少日志详细程度 第2部分-使用Serilog记录所选的终结点属性 第3部分-使用Serilog.AspNetCore记录MVC属性(本文) 第...ASP.NET Core团队一直在努力将更多MVC特定功能(例如模型绑定或操作结果)从MVC中移除,然后“下推”到核心框架中。...在这篇文章中,我将展示如何在过滤器中使用IDiagnosticContext,以及将MVC特定值添加到日志中。...我还将展示如何在page过滤器中添加RazorPages特定的值(如HandlerName)。 使用自定义过滤器记录MVC属性 过滤器相当于为每个请求运行的类似于MVC的微型中间件管道。....在本文中,我将展示如何自定义Serilog,RequestLoggingOptions以重新添加特定于MVC的其他属性

3.6K10
  • 七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)——...ASP.Net MVC 数据处理 七天学会ASP.NET MVC (四)——用户授权认证问题 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 七天学会ASP.NET MVC...如何使用文件上传控件 2. 异步控制器 1....异常过滤器与其他过滤器的用法相同,可当作属性使用使用异常过滤器的基本步骤: 1. 使它们可用 2. 将过滤器作为属性,应用到action 方法或控制器中。我们也可以在全局层次使用异常过滤器。...如何在Route 参数中使用限制? 可使用正则表达式。

    3.9K100

    ASP.NET Core MVC如何使用Session实现身份验证

    ASP.NET页面是"无状态"的,这意味着每次向服务器发送一个请求,服务器都会生成一个该页面的实例。...Session可以保存变量,该变量只能供一个用户使用,也就是说,每一个网页浏览者都有自己的Session对象变量,即Session对象具有唯一性。 ?...二、 Session是如何工作的以及工作机制和工作流程 服务端的Session机制是基于客户端的,也就是说服务端的Session会保存每个客户端的信息到服务端内存中。...三、ASP.NET Core MVC使用Session方式来实现用户身份验证 这篇文章主要为大家详细介绍了ASP.NET Core MVC使用Session验证用户登录的相关资料,具有一定的参考价值,...1)、 Asp.Net Core中Session中间件的使用 我们需要在用户登录以后记录当前登录用户的会话状态,ASP.NET Core 已经内置发布了一个关于会话的程序包(Microsoft.Extensions.DependencyInjection

    3.7K30

    通过一个模拟程序你明白ASP.NET MVC如何运行的

    为了更好的演示其实现原理,我创建一个简单的ASP.NET Web应用来模拟ASP.NET MVC的路由机制。...这个例子中的相关组件基本上就是根据ASP.NET MVC的同名组件设计的,只是我将它们进行了最大限度的简化,因为我们只需要用它来演示大致的实现原理而已。...我们按照ASP.NET MVC的原理,通过解析请求URL得到Controller和Action的名称。...接下来我简单的介绍一下是哪些组建促使这个简单的ASP.NET Web应用能够按照MVC的模式来执行。为了使你能够在真正的ASP.NET MVC找到匹配的组件,我们采用了相同的接口和类型名称。...MVC一样,我们定义了如下一个RouteTable对象,其静态属性正是一个RouteCollection对象。

    1.1K60

    ASP.NET Core 6框架揭秘实例演示:异常处理高阶用法

    这是因为处理这种“预编译”模式,ASP.NET还支持运行时动态编译。以MVC应用为例,我们可以在运行时修改它的视图文件,这样的修改就会触发动态编译。如果修改的内容没法通过编译,就会抛出编译异常。...为了支持运行动态编译,我们为MVC项目添加了针对 “Microsoft.AspNetCore.Mvc.Razor....应用启动再将视图文件的内容定义成如下的形式,为了动态编译失败,这里指定的Foobar类型其实根本不存在。...如下面的代码片段所示,我们利用HandleError方法来呈现一个定制的错误页面。...我们通过随机数这个方法在50%的概率下将StatusCodePagesFeature特性的Enabled属性设置为False。

    1.2K20

    ASP.NET MVC5+EF6+EasyUI 后台管理系统(61)-如何使用框架来开发

    前言 这篇文本讲述了这个框架的使用方式,及一些疑问的答疑,更加精准的使用这个框架来建立功能 经过几个版本的迭代,系统使用更加方便,代码更加简洁也更加的智能,所以之前61节的文章也需要重新编排 对项目的了解...项目没有特别难以理解的类库, 就当成一个普通的MVC,三层项目看待即可  目录 我们只需要分为几步就能快速的建立一个具有权限的功能 表设计及约定 生成代码(代码生成器及TT模板) 配置(URL的配置及权限设置...IBLL,BLL,IDAL,DAL,Models及注入的配置 生成的方式很简单,打开TT模板按下保存就可以,会根据EF来生成,生成后无需要操作 (这里特别说明一个数据设置说明的用法,设置后会生成注释,这些属性会带到前端作为显示

    1.7K60

    ASP.NET MVC5+EF6+EasyUI 后台管理系统(999)-如何使用这个系统来开发?

    前言 这篇文本讲述了这个框架的使用方式,及一些疑问的答疑,更加精准的使用这个框架来建立功能 经过几个版本的迭代,系统使用更加方便,代码更加简洁也更加的智能,所以之前61节的文章也需要重新编排 对项目的了解...image.png  项目没有特别难以理解的类库, 就当成一个普通的MVC,三层项目看待即可  目录 我们只需要分为几步就能快速的建立一个具有权限的功能 表设计及约定 生成代码(代码生成器及...IBLL,BLL,IDAL,DAL,Models及注入的配置 生成的方式很简单,打开TT模板按下保存就可以,会根据EF来生成,生成后无需要操作 (这里特别说明一个数据设置说明的用法,设置后会生成注释,这些属性会带到前端作为显示

    1.1K60

    ASP.NET MVC如何运行的: 建立在“伪”MVC框架上的Web应用

    值得一提的是,为了读者根据该实例从真正的ASP.NET MVC中找到对应的组件,我完全采用了与ASP.NET MVC一致的类型命名方式。...上面我们我们演示了如何在我们自己创建的“迷你版”ASP.NET MVC框架中创建一个Web应用,从中我们可以看到和创建一个真正的ASP.NET MVC应用别无二致。...接下来我们就来逐步地分析这个自定义的ASP.NET MVC框架是如何建立起来的,而它也代表了真正的ASP.NET MVC框架的工作原理。...ASP.NET MVC如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC如何运行的[2]: URL路由 ASP.NET MVC如何运行的[3]: Controller...的激活 ASP.NET MVC如何运行的[4]: Action的执行

    1.3K60
    领券