Xwen的叹息

挣扎于设计和需求之间
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

类库项目使用网站web.config中定义的连接字符串

Posted on 2007-06-29 23:24  Xwen  阅读(1941)  评论(4编辑  收藏  举报
    首先,说明一下,经过粗略的实验,类库项目和网站不需要再一个解决方案中,只要被网站引用的类库都可以访问web.config中的连接字符串。P.s只是简单的试了试,所以可能有错误,希望大家指证。
   
    一个类库项目里面的代码,要访问引用自身的网站web.config中的连接字符串(appSettings也可以),该类库项目必须引用System.Web程序集,然后还需要引用System.configuration程序集,关于后者感觉有点莫名其妙,后面会说说。
   
    然后就可以通过
    System.Web.Configuration.WebConfigurationManager.ConnectionStrings
    访问连接字符串了,如同在网站中的代码一样。
    有一点还要注意以下,如果该类库没有在网站中被引用,而是在一个没有配置文件的项目中被引用,那么上面的语句并不会跑出异常,它会返回null。

    最后,对System.configuration吐下糟,ConnectionStrings定义在该程序集中,而WebConfigurationManager定义在System.Web中,这样的设计,使用WebConfigurationManager就必须同时再引用另一个程序集,而引用那个程序集的唯一目的就是为了访问WebConfigurationManager的一个属性,让WebConfigurationManager依赖于一个定义再其他程序集中的具体类,明显违背了接口倒置原则,给用户调用也带来了麻烦,感觉设计的莫名其妙。