在代码中调整Web.config设置

Pierre @ 2006-07-11
--------------------------------------------------------------------------------------------
本文演示了如何读写标准XML文档(Web.config)。
关于Web.config的详细介绍请参阅:
http://blog.csdn.net/lg_lin/archive/2006/05/11/723679.aspx?Pending=true

--------------------------------------------------------------------------------------------

  近来使用微软的ExceptionManagement,它要求在config设置中指定一个有写权限的文件夹以写入错误日志,在WinForm程序中,这并不难。因为一个WinForm程序一般对整个磁盘都有写的权限(不太确定)。所以可以指定一个不在程序目录下的默认文件夹(例如:C:\App_Error\)作为错误记录文件夹。但一个Web应用程序不能做到这一点,一般来说Web应用程序要么没有任何写权限,要么只能读写程序目录及子目录。所以这就要求一个ASP.NET应用程序能够自动识别根目录物理路径的改变,并作为参数值用程序写入到Web.config中。下面的代码就演示了如何读写XML,以达到此目的。

  要想实现在程序中自动更改Web.config设置参数,有两种比较简单的方法:一是在安装时执行更改Web.cofig设置的代码;二是在Application_Start事件中执行更改Web.cofig设置的代码。采用前者时只能实现一次动态修改,不能保证在安装后程序根目录的物理路径改变时还能正常运行;而采用后者则在每次程序启动时,都会自动执行这段代码,增加了开销。具体采用哪种方法,应视具体程序而定。下面的代码仅仅以动态设置微软的ExceptionManagement配置为例演示在如何在Application_Start事件中执行更改Web.cofig设置,时间关系,代码中没有再添加注释,但对于需要的人来说,程序并不难读。

  

  1protected void Application_Start(Object sender, EventArgs e)
  2        {
  3            System.Xml.XmlDocument oXmlDoc = new System.Xml.XmlDocument();
  4            oXmlDoc.Load(Server.MapPath("~/web.config"));
  5
  6            -= Error handling =-
104        }

posted on 2006-07-11 19:30  BFL  阅读(210)  评论(0)    收藏  举报

导航