服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C# web.config之<customErrors>节点说明案例详解

C# web.config之<customErrors>节点说明案例详解

2022-12-01 11:49烈日轨迹 C#

这篇文章主要介绍了C# web.config之<customErrors>节点说明案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

<customErrors>节点用于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下:

Mode 说明
On 表示在本地和远程用户都会看到自定义错误信息。
Off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
RemoteOnly 表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
这里有必要说明一下本地用户和远程用户的概念。当我们访问asp.net应用程时所使用的机器和发布asp.net应用程序所使用的机器为同一台机器时成为本地用户,反之则称之为远程用户。在开发调试阶段为了便于查找错误Mode属性建议设置为Off,而在部署阶段应将Mode属性设置为On或者RemoteOnly,以避免这些详细的错误信息暴露了程序代码细节从而引来黑客的入侵。
下面我们添加一个页面CustomErrorsDemo.aspx,在它的Page_Load事件里抛出一个异常,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
 
public partial class CustomErrorsDemo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        throw new Exception("故意抛出的异常。");
    }
}

我们先配置<customErrors>如下:

?
1
2
3
4
<customErrors mode="RemoteOnly">
     <error statusCode="403" redirect="NoAccess.htm" />
     <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>

这时本地运行CustomErrorsDemo.aspx的效果如下:

远程访问时看到的效果:

如果我们将customErrors的Mode属性设置为“On”本地运行和远程访问都会看到如下效果:

如果将customErrors的Mode属性设置为“Off”本地运行和远程访问都会看到如下效果:

<error>子节点

在<customErrors>节点下还包含有<error>子节点,这个节点主要是根据服务器的HTTP错误状态代码而重定向到我们自定义的错误页面,注意要使<error>子节点下的配置生效,必须将<customErrors>节点节点的Mode属性设置为“On”。下面是一个例子:

?
1
2
3
4
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
     <error statusCode="403" redirect="403.htm" />
     <error statusCode="404" redirect="404.htm" />
</customErrors>

在上面的配置中如果用户访问的页面不存在就会跳转到404.htm页面,如果用户没有权限访问请求的页面则会跳转到403.htm页面,403.htm和404.htm页面都是我们自己添加的页面,我们可以在页面中给出友好的错误提示。

到此这篇关于C# web.config之<customErrors>节点说明案例详解的文章就介绍到这了,更多相关C# web.config之<customErrors>节点说明内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/ap0606122/archive/2011/07/07/2099937.html

延伸 · 阅读

精彩推荐
  • C#C# 实现俄罗斯方块(附源码)

    C# 实现俄罗斯方块(附源码)

    这篇文章主要介绍了C# 实现俄罗斯方块的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    Alan.hsiang8072022-09-26
  • C#C#基于Windows服务的聊天程序(1)

    C#基于Windows服务的聊天程序(1)

    这篇文章主要为大家详细介绍了C#基于Windows服务的聊天程序的第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    波谷4202022-01-17
  • C#C#开发中的垃圾回收机制简析

    C#开发中的垃圾回收机制简析

    这篇文章主要为大家详细介绍了C#开发中的垃圾回收机制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    C#教程网8092021-11-01
  • C#C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证

    C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证

    下面小编就为大家带来一篇C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证。小编觉得挺不错的,现在分享给大家。给大家一个参考。一起跟随小编过...

    C#教程网11322021-11-16
  • C#C# #define条件编译详解

    C# #define条件编译详解

    这篇文章主要介绍了C# #define条件编译,告诉大家#define是用来做什么?如何使用#define,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    邪心魔佛一页书11582021-12-16
  • C#C#中comboBox实现三级联动

    C#中comboBox实现三级联动

    给大家分享了C#中comboBox实现三级联动的全部代码,代码经过测试,有兴趣的朋友跟着做一下。...

    彬菌4012022-02-22
  • C#C#泛型类创建与使用的方法

    C#泛型类创建与使用的方法

    这篇文章主要为大家详细介绍了C#泛型类创建与使用的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    cnc11942022-01-17
  • C#UnityShader使用Plane实现翻书效果

    UnityShader使用Plane实现翻书效果

    这篇文章主要为大家详细介绍了UnityShader使用Plane实现翻书效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Cool-浩8332022-11-28