调试模式提供一种特殊的编译模式,处于调试模式的网站会影响系统的性能.但是,有时候为了便于系统维护,我们会把一些调试时用到的功能模块集成到产 品网站中,为了不对产品的正常运行造成影响同时又能够在系统发生故障时方便的使用调试模块,我想到了好好利用下调试模式.

我们知道,调试模式配置是在web.config文件中的.

<compilation debug="true"> </compilation>

读取web.config文件需要用到.net 2.0新增加的一些针对配置文件的操作类.

这里用到的是System.Configuration.ConfigurationSettings类,它提供的 GetConfig(string name)方法能够定位到你要获取值的结点.

还有一个类,System.Web.Configuration.CompilationSection自然就是定义编译配置信息的类,这里面有一 个属性:Debug,它返回一个bool值,以指示当前是否启用了调试模式.

System.Web.Configuration.CompilationSection ds = (System.Web.Configuration.CompilationSection)System.Configuration.ConfigurationSettings.GetConfig("system.web/compilation"); isDebugEnable = ds.Debug;

上面代码中用到了一个类型转换,将获取到的结点类型转化为 System.Web.Configuration.CompilationSection类型,从而利用ds.Debug属性获得结果.

调试模式时我们可以集成一些有用的功能,这些功能有:

错误检测:检测系统输出的错误日志并在屏幕上显示

数据库查询检测:测试数据库的查询,并能更改数据库的部分信息,支持全部的查询语句并限制查询的权限

系统日志:在调试模式启动时,系统将记录所有的错误日志,而不是根据原先的优先级,便于查找Bug.

由于调试模式的启用必须要到服务器上去配置,因此,安全性上面有了一定的保障,可以确保只有管理员才能够启用.

===========================================================================================================

Asp.Net2.0中我们可以方便的访问配置文件中,.NetFrameWork2.0新增加了 SystemWebSectionGroup 类。
允许用户以编程方式访问配置文件的 system.web 组。
比如判断web.config内是否为 debug="true",或者判断身份验证形式

System.Configuration.Configuration configuration = WebConfigurationManager..OpenWebConfiguration("");)

//配置文件的虚拟目录,如果null则取根目录下的web.config

SystemWebSectionGroup ws = (SystemWebSectionGroup)configuration.GetSectionGroup("system.web");
CompilationSection cp = ws.Compilation;
用cp.Debug;就可以得到compilation节内关于"debug"的配置
AuthenticationSection as = ws.Authentication;
用 as.Mode 可以获取 authentication节中关于"mode"的配置,值为AuthenticationMode 枚举之一
AuthenticationMode 的取值如下:
成员名称 说明
Forms 将基于 ASP.NET 窗体的身份验证指定为身份验证模式。
None 不指定身份验证。
Passport 将 Microsoft Passport 指定为身份验证模式。
Windows 将 Windows 指定为身份验证模式。在使用 Internet 信息服务 (IIS) 身份验证方法(基本、简要、集成 Windows (NTLM/Kerberos) 或证书)时适用此模式。

附:SystemWebSectionGroup 类的公共属性:
名称 说明
AnonymousIdentification 获取 anonymousIdentification 节。
Authentication 获取 authentication 节。
Authorization 获取 authorization 节。
BrowserCaps 获取 browserCaps 节。
ClientTarget 获取 clientTarget 节。
Compilation 获取 compilation 节。
CustomErrors 获取 customErrors 节。
Deployment 获取 deployment 节。
DeviceFilters 获取 deviceFilters 节。
Globalization 获取 globalization 节。
HealthMonitoring 获取 healthMonitoring 节。
HostingEnvironment 获取 hostingEnvironment 节。
HttpCookies 获取 httpCookies 节。
HttpHandlers 获取 httpHandlers 节。
HttpModules 获取 httpModules 节。
HttpRuntime 获取 httpRuntime 节。
Identity 获取 identity 节。
IsDeclarationRequired 获取一个值,该值指示是否需要声明此 ConfigurationSectionGroup 对象。 (从 ConfigurationSectionGroup 继承。)
IsDeclared 获取一个值,该值指示是否已声明此 ConfigurationSectionGroup 对象。(从 ConfigurationSectionGroup 继承。)
MachineKey 获取 machineKey 节。
Membership 获取 membership 节。
MobileControls 获取 mobileControls 节。
Name 获取此 ConfigurationSectionGroup 对象的名称属性。(从 ConfigurationSectionGroup 继承。)
Pages 获取 pages 节。
ProcessModel 获取 processModel 节。
Profile 获取 profile 节。
Protocols 获取 protocols 节。
RoleManager 获取 roleManager 节。
SectionGroupName 获取与此 ConfigurationSectionGroup 关联的节组名称。(从 ConfigurationSectionGroup 继承。)
SectionGroups 获取一个包含所有 ConfigurationSectionGroup 对象的 ConfigurationSectionGroup 对象,这些对象是此 ConfigurationSectionGroup 对象的子对象。(从 ConfigurationSectionGroup 继承。)
Sections 获取一个 ConfigurationSectionCollection,它包含此 ConfigurationSectionGroup 中的所有 ConfigurationSection 对象。(从 ConfigurationSectionGroup 继承。)
SecurityPolicy 获取 securityPolicy 节。
SessionState 获取 sessionState 节。
SiteMap 获取 siteMap 节。
Trace 获取 trace 节。
Trust 获取 trust 节。
Type 获取或设置此 ConfigurationSectionGroup 对象的类型。(从 ConfigurationSectionGroup 继承。)
UrlMappings 获取 urlMappings 节。
WebControls 获取 webControls 节。
WebParts 获取 webParts 节。
WebServices 获取 webServices 节。
XhtmlConformance 获取 xhtmlConformance 节

转载于:https://www.cnblogs.com/zhangji/archive/2011/04/21/2023203.html

关于web.config相关推荐

  1. Web.Config文件配置之限制上传文件大小和时间

    在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...

  2. asp.net中web.config配置节点大全详解

    web.config 文件查找规则:        (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找.        (2)如果当 ...

  3. web.config文件详解

    (一).Web.Config是以XML文件规范存储,配置文件分为以下格式     1.配置节处理程序声明       特点: 位于配置文件的顶部,包含在<configSections>标志 ...

  4. 数据库连接字在Web.config里的用法

    作者:未知   请速与本人联系 在asp.net中的WEB程序的设置中我们必须用到Web.config来存储数据库连接字.事实上这是个很好的做法,因为可以省去我们很多的麻烦还可以帮助我们避免不必要的错 ...

  5. 在Web.config或App.config中的添加自定义配置

    .Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍 ...

  6. Web.Config文件配置之连接默认错误页

    在一些网站中,当网络地址发生错误时,通常会自动跳转到一个页面,并在该页面显示错误信息,此功能叶可以通过配置Web.Config文件配置实现.例如访问者在访问网站时出现错误,程序将跳转到默认页面erro ...

  7. ASP.NET配置文件Web.config

    [摘 要]Web.config文件是一个XML文本文件,它用来储存 ASP.net Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每 ...

  8. 一个web.Config或app.Config自定义段configSections的示例

    一个web.Config或app.Config自定义段configSections的示例 越来越觉得,直接用配置文件app.Config或web.Config配置应用系统的运行参数,比自己做一个xml ...

  9. Asp.Net web.config配置节点大全详解

    web.config 文件查找规则: (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结 点名称,如果存在返回结果并停止查找. (2)如果当前页面所在目录下不存在we ...

  10. Web.config配置文件详解(新手必看)

    Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...

最新文章

  1. Mybatis问题:There is no getter for property named 'unitId' in 'class java.lang.String'
  2. c++ 函数返回引用
  3. a或b search vim_vim编辑器
  4. jquery纯数字验证
  5. leetcode 331. 验证二叉树的前序序列化
  6. 源码安装mysql5.1.51
  7. python并列语句_Python基础_控制语句
  8. shell 免杀aspx_对于asp免杀webshell的一些总结
  9. c语言课程案例设计报告,C语言课程设计报告—范例解读.doc
  10. 蓝桥杯 ADV-74 算法提高 计算整数因子
  11. Bailian2749 分解因数【递归+枚举】
  12. mysql查询触发器_mysql查看所有触发器以及存储过程等操作集合【转】
  13. Html5 dataset--自定义属性
  14. 虚拟试衣软件的实现方式
  15. LU分解、LDLT分解和Cholesky分解
  16. java合并两个excel文件内容_java实现多个excel文件合并成一个excel文件
  17. python课后作业之三科成绩总和、平均分+体脂率计算
  18. 中兴--维克多博士问题(背包问题升级版)
  19. Python读取Execl文件批量生成二维码
  20. 第三人称和第一人称互相切换【Low版】

热门文章

  1. Android 使用正则表达式验证邮箱格式是否正确
  2. C语言学习笔记(4)
  3. Learning Perl chapter 4 练习题
  4. yum升级rhel5
  5. orcle rac启动了,但数据库没有启动的错误解决
  6. Android Studio:64K问题com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
  7. uid(组件id) = userId + appId (android多用户)
  8. Context结构图
  9. C++中class与struct的区别
  10. 分布式实时计算—从霍普金大学数据错误谈谈如何保证实时计算数据准确性