项目上遇到Web.config相关问题:
var DefaultKey=ConfigurationManager.AppSettings["DefaultKey"];
DefaultKey为Null.
出现此问题从以下三种情况检查:
- appSettings节点是否在configuration的子节点下,是否有重复的标签被定义。
- key名是否对应
- 就是我遇到的这种,详情如下:
项目结构如图,我需要在RedisPublish,RedisSubScribe项目中去引用RedisConfig的dll,调用该dll下的方法去读取web.config。问题就出在这!ConfigurationManager类(包括Configuration类、WebConfigurationManager类)读取的是当前运行的项目的config,不会管你这个代码写在哪个dll下面。除非你指定config的物理地址。
所以需要把RedisConfig下配置的key,同步到其他项目中才能被访问到。