• 自定义了错误页面,但IIS却显示http服务器内部500错误的解决办法


    1. 激活异常过滤器

    当自定义异常被捕获时,异常过滤器变为可用。为了能够获得自定义异常,打开Web.config文件,在System.Web.Section下方添加自定义错误信息。

       <system.web>
          <customErrors mode="On"></customErrors>
    </system.web>
    2. 创建Error View
    在“~/Views/Shared”文件夹下,会发现存在“Error.cshtml”文件,该文件是由MVC 模板提供的,如果没有自动创建,该文件也可以手动完成。

    3. 绑定异常过滤器

    将过滤器绑定到action方法或controller上,不需要手动执行,打开 App_Start folder文件夹中的 FilterConfig.cs文件。在 RegisterGlobalFilters 方法中会看到

    复制代码
    public class FilterConfig
        {
            public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
                filters.Add(new HandleErrorAttribute());
                //filters.Add(new AuthorizeAttribute());
            }
        }
    复制代码

    如果需要删除全局过滤器,那么会将过滤器绑定到action 或controller层,如下:

       [AdminFilter]
       [HandleError]
       public async Task<ActionResult> Upload(FileUploadViewModel model)
    但是不建议这么做,最好是在全局中应用

    4. 在View中显示错误信息
    将Error View转换为HandleErrorInfo类的强类型View,并在View中显示错误信息。
    复制代码
    @model HandleErrorInfo
    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <meta name="viewport" content="width=device-width" />
        <title>错误</title>
    </head>
    <body>
        <hgroup>
            <h1>错误。</h1>
            <h2>处理你的请求时出错。</h2>
        </hgroup>
        Error Message :@Model.Exception.Message<br />
        Controller: @Model.ControllerName<br />
        Action: @Model.ActionName
    
    </body>
    </html>
    复制代码

    5. 运行后故意出错,显示的却是http服务器内部500错误,并不显示Error中的自定义错误信息。解决办法:
    在IE浏览器下点击 工具-internet选项-高级,滚动条拉到最后,将“显示友好HTTP错误信息”前的勾去掉,确定,这时刷新“500内部服务器错误”页面,或者重新启动该页面,页面便会弹出新的报错项目,这是网页报错的信息便会告诉你是原因导致此错误发生。

    漫思
  • 相关阅读:
    IOS AFN (第三方请求)
    IOS ASI (第三方请求)
    OC Copy and MutableCopy的使用
    OC NSMutableArray
    OC NSArray使用
    OC NSMutableString的使用
    OC 指向指针的指针
    OC Nsstring的使用
    Code First :使用Entity. Framework编程(4) ----转发 收藏
    Code First :使用Entity. Framework编程(3) ----转发 收藏
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/14325908.html
Copyright © 2020-2023  润新知