网络学院
迷城学吧
硬件
手机
旅游
生活
渔鱼
美图
电影
游戏
  导航: 迷城学吧 · 网站编程教程 · ASP教程 · ASP XML教程

关于ASP.NET地配置文件地说明(一)

 
最新推荐文章
图文推荐
 
『关于ASP.NET地配置文件地说明(一)』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2006-6-17 

        在.NET中,我们可以为项目添加相应的配置文件,在其中定义我们需要的自定义信息,这样开发人员可以更改设置而不必重新编译应用程序,还可以避免把这些内容硬编码在代码中,尤其是在WebForm项目中更为常见。但是随着解决方案中项目数量的增加,有个问题会随之出现:配置文件过多,以致配置过程繁琐,且很容易出错,这个问题该如何解决?

        我的第一个想法是:能否把这些配置文件合并为一个文件?翻阅了一些资料,找到了一个方法,可能能实现这个想法。
        假设当前解决方案包括以下几个项目:控制台程序ConsoleApp, Windows窗口应用程序WinApp, Web应用程序WebApp, Web Service项目WebService, 类库ClassLib。
        而对于ClassLib之外的项目,它们都可以有自己的配置文件,其名称和位置取决于应用程序的宿主,可以是下列情况之一:
        (1)可执行文件承载的应用程序:
        由可执行文件宿主承载的应用程序的配置文件与该应用程序位于同一目录。配置文件的名称是带有 .config 扩展名的该应用程序的名称。例如,名为 WinApp.exe 的应用程序可以与名为WinApp.exe.config 的配置文件关联。
        但是默认情况下系统不会给我们这个文件。可以这样做:先建立一个app.config文件。
        假设内容为:
        <?XML version="1.0" encoding="utf-8" ?>
          <configuration>
            < appSettings >
              <add key="key1" value="WinValue1"/>               
              <add key="key2" value="WinValue2"/>
            </appSettings>
          </configuration>
        然后选择,添加现有项,将该文件加入到该项目,编译后就可以得到我们想要的文件了,要修改这个配置文件,我们只需要修改app.config!
        (2)ASP.NET 承载的应用程序:
        ASP.NET 配置文件为web.config。ASP.NET 应用程序中的配置文件继承该 URL 路径中的配置文件的设置。例如,假设有 URL http://localhost/WebApp/admin,其中http://localhost/WebApp是 Web 应用程序,与该应用程序关联的配置文件位于http://localhost/WebApp。而位于子目录 /admin 中的 ASP.NET 页,既使用应用程序级的配置文件的设置,又使用位于 /admin 中的配置文件的设置。

        可以看到这些配置文件都有一个相同的节点:<appSettings>。它有一个属性为file.可以这样写:
        <appSettings file="..\common.config">
        </appSettings>
        该属性指定包含自定义应用程序配置设置的外部文件的相对路径。如果找不到指定的文件,运行库会忽略该属性。如果找到相同的key值,那么它会覆盖掉主配置文件的value。
        注意:用 file 属性指定的配置文件必须将 <appSettings>(而非 <configuration>)作为根节点。以下为一个正确的代码:
        <?XML version="1.0" encoding="utf-8" ?>
        <appSettings>         
          <add key="key2" value="CommonValue2"/>
        </appSettings>
        这样就可以使得所有的配置文件指向同一个外部文件了,也就合并为一个配置文件了。
        然后可以用System.Configuration.ConfigurationSettings.AppSettings["keyName"]来读取其值。

         但对于项目ClassLib,这种方法就无能为力了,它没有支持运行库的配置文件。到这里,理想状况下,可以做到使用至多两个文件来配置整个解决方案了。

如果您有什么疑问,可以至论坛提出或者解答他人的疑问    返回页面顶部

·上一篇:
·下一篇:
·导航: 迷城学吧 · 网站编程教程 · ASP教程 · ASP XML教程
网友自拍|生活百味|历史图片|摄影世界|明星图片|体坛图库|美女图片|图片纪实|世界奇观
相关文章
advertisement
Photshop高手进阶

关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 申请链接 | 设为首页 | 本页加入收藏 返回顶部  
网站文本地图
  版权所有:迷城学吧 欢迎各种媒体转载我们的原创作品[转载请注明出处]
Copyright © 2005-2008 www.McXb.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Monsi. Optimized for 1024x768 to Firefox and MS-IE6 7. Site powered by JoyON.
红盾Gov315
有一个迷样的城市
在每个人的内心深处
让我们探索发掘这古老的墓