> 文章列表 > asp.net网站读取app.config配置内容

asp.net网站读取app.config配置内容

asp.net网站读取app.config配置内容

目录

  • 1、情况说明
    • 1.1 使用场景
    • 1.2 基本概念
  • 2、优化

1、情况说明

1.1 使用场景

创建了一个网站(项目A),又创建了一个访问数据的项目B。项目A因为是个网站,所有会有web.config文件。项目B是一个读取数据库的类库,会有一个app.config配置文件

访问数据库的字符串放在项目B的app.config配置文件中,这时运行网站的时候,会报异常(未能读取到数据,转换时报空引用异常!)。如下图所示。
在这里插入图片描述

1.2 基本概念

对于每个应用(exe、控制台、网站等),只会有一个配置文件。
即:

控制台、exe等程序,默认会读取app.config文件中的配置内容;
网站会读取web.config文件的配置内容。

不会存在web网站既要读取web.config又要读取app.config文件内的配置文件

2、优化

但是在程序也是可以有一些其他方案的实现。

1、自定义一个配置文件,然后写程序,以读取xml文件的方式,读取配置内容

可以参考这篇文章:以xml方式读取配置内容

2、自定义一个配置文件,使用ConfigurationManager.OpenExeConfiguration方法读取配置

可以参考这篇文章:以ConfigurationManager读取配置文件

3、在web.config直接链接外部的配置文件,例如appSettings
例如,可以在web.config中这样配置

web.config的appSettings配置

<appSettings file="bin\\test.config"></appSettings> 

在其他地方创建一个配置文件(test.config),然后引用。

<?xml version="1.0" encoding="utf-8" ?>
<appSettings><add key="webpages:Version" value="3.0.0.0" /><add key="webpages:Enabled" value="false" /><add key="ClientValidationEnabled" value="true" /><add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

这儿注意,test.config配置文件的根节点就是appSettings,非configuration。否则会报错

4、自定义配置文件

在微软官网上,有一个自定义配置元素的文章,很不错。推荐

How to: Create Custom Configuration Sections Using ConfigurationSection

以上